.net异常:由于代码已经过优化或


异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

今天遇到一个很奇怪的异常,调试半天也没发现是哪里出错了,比如有这样一段程序:

try
{
GetUserList();
Response.Redirect("index.aspx");
}
catch
{
Response.Redirect("error.aspx");
}

抛出ThreadAbortException异常如下:

由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。


不管GetUserList();方法有没有错,总是执行 Response.Redirect("error.aspx");,后来把GetUserList()注释后还是一样,真是让人蛋疼。于是GOOGLE了几下,找到了答案。。。

因为Response.Redirect()提前结束了try-catch块当前的响应,所以引发了 ThreadAbortException

解决方法:

1.把 Response.Redirect();移到try外面

2.使用 Response.Redirect("regok.aspx",false);

Tag标签: .NET错误信息
posted on 2009-09-27 21:49 发布:水寒冰 阅读(676) 评论(0) 收藏 所属分类: ASP.NET(C#)
  • 评论
  • 点击刷新
  • [使用Ctrl+Enter键可以直接提交]

表情图标

[smile][confused][cool][cry][eek][angry][wink][sweat][lol][stun][razz][redface][rolleyes][sad][yes][no][heart][star][music][idea]
Advertise
Category
Time Counter

离十一还有

Recent Article
Statistics
Recent Comments
Archive
Links
Support
《良机》 鲜果阅读器订阅图标
 
TOP