【发布时间】:2011-08-02 00:39:02
【问题描述】:
在 Webform1.aspx.cs 中:
protected void Page_Load(object sender, EventArgs e)
{
throw new Exception("test exception");
}
在 Global.asax.cs 中:
protected void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("ErrUnknown.aspx");
}
但 Application_Error 事件处理程序永远不会被调用。相反,我得到一个运行时错误页面。
在引发异常后调用 Application_Error 我该怎么办?
【问题讨论】:
-
您的 web.config 对自定义错误部分有何看法?
-
没什么。您指的是 customErrors 部分吗?
-
是的,还要检查编译Debug=True是set
-
没什么,因为我希望在 Application_Error 中处理异常。知道为什么它不会被解雇吗?可能有趣的是:我使用的是 VS.NET WebApplication 项目,而不是 VS.NET 网站项目。会是这个原因吗?
-
我意识到这已经解决了,但对于任何阅读本文的人来说,Customerrors 部分和 Debug=True 应该对此没有影响。无论这些设置如何,错误都应该通过 OnError 和 Global ASAX Error 事件。请注意,如果继承 ConfigurationException 的异常不会通过此处讨论的 OnError 或 Global ASAX 错误事件...stackoverflow.com/questions/25299325/…
标签: .net asp.net global-asax onerror