日期:2014-05-19  浏览次数:20394 次

为什么在Application_Error中Response.Redirect的页面不存在,无法捕获错误?谢谢!
protected   void   Application_Error(Object   sender,   EventArgs   e)
{
try
{
Response.Redirect( "asdfa.aspx ");
}
catch(Exception   ex)
{
string   s=   ex.Message;
}

}
在这段代码中,catch部分始终无法执行,请赐教,谢谢!

------解决方案--------------------
死循环是怎么回事?
------解决方案--------------------
catch(Exception ex)
{
string s= ex.Message;
return s;
}
这样可以不哟?我也不是很清楚咯哈
------解决方案--------------------
Application_Error写完日志再跳转页面customErrors 就不用了
------解决方案--------------------
Response.Redirect语句在任何情况下都会产生ThreadAbortException异常,但不捕获该异常并不会引起程序中止。你在程序中捕获了该异常,并又回到该过程本身,所以会引起死循环。

查帮助吧。
------解决方案--------------------
另:你应该在Application_Error事件中捕获404错误,不应该这样写。这样是捕获不了页面不存在错误的。
------解决方案--------------------
你的try是是没有效果的,因为下面的Response.Redirect( "asdfa.aspx ");是永远正确的,当然不执行catch了,没有这个页面.net是不知道的!也就是说你用try catch来捕获这个本身就是不可能实现的