2010-05-06 80 views
12

我在asp.net中编写了一个代码,用于从文件中读取数据并绘制图形。在mscorlib.dll中发生未处理的异常'System.StackOverflowException'

它的工作,但一段时间后,当我运行该程序,此异常出现

在此

“未处理的类型‘System.StackOverflowException’ mscorlib.dll中发生的异常”在代码中的声明:

if (File.Exists(fName)) <----(here is the exception) 
{ 
    stream = File.Open(fName, FileMode.Open); 
    g_day = Deserialize(stream); 
    stream.Close(); 
    int cn = 0; 
    if (g_day.Values.Count != 0) 
     cn = g_day.Values[g_day.Values.Count - 1].Value; 
    Label1.Text = cn.ToString(); 
} 
+0

使用编辑器的格式功能,以便我们可以读取您的代码。 – mwilson 2010-05-06 15:43:04

+1

这是你提供了Deserialize()函数一部分的代码片段吗? – 2010-05-06 15:48:55

+1

哪个版本的.NET?另外,你可以发布堆栈跟踪吗? – Paolo 2010-05-06 15:52:13

回答

36

您的函数可能调用自己递归无限次。有时候,这是间接发生的(你在BCL中调用一个方法,它会回调你的代码,并且这会不断重复)。 File.Exists可能不是罪魁祸首。发生错误时查看您的调用堆栈。

+0

优秀!快速修复 – Nirman 2012-12-13 16:27:30

+0

所以她只是问,离开了!完美的答案! – 2015-05-18 05:03:52

相关问题