【发布时间】:2010-05-06 15:42:36
【问题描述】:
我在 asp.net 中编写了一个从文件中读取数据并绘制图形的代码。
它成功了,但是当我运行程序一段时间后,出现了这个异常
“'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();
}
【问题讨论】:
-
使用编辑器的格式功能,以便我们阅读您的代码。
-
这个代码 sn-p 是您提供的
Deserialize()函数的一部分吗? -
.NET 的哪个版本?另外,你能发布堆栈跟踪吗?
-
if (File.Exists(...))检查是邪恶的。不要这样做。只需打开文件并在打开失败时处理异常即可。 -
@JoelCoehoorn 请问File.Exists 未来有什么问题?
标签: c#