您的位置:首页 > 移动开发

使用 Application_Error 处理异常

2006-06-30 11:17 337 查看
当一个异常在调用堆栈中没有被处理,也没有被框架代码处理时,我们说这个异常未处理,它将被ASP.NET捕获,ASP.NET对此未处理错误的处理方法是显示一个页面,列出该未处理异常的详细情况。
有两个在异常未处理时将被ASP.NET调用的事件:
Page_Error event,它提供捕获在Page级别发生错误的方法。
Application_Error event,它提供捕获在代码中的任何地方发生错误的方法。该事件的范围是整个应用程序,这使它成为添加日志代码的一个理想地方。
这两个事件的执行顺序是——先执行Page_Error,后执行Application_Error。如果希望在Page_Error中处理过的错误就不要再在Application_Error中处理,我们可以在Page_Error中处理错误之后,使用Server.ClearError方法清除最后一个错误,避免再调用Application_Error。
我们可以在Global.asax文件中找到这应用程序级错误事件Application_Error,用以下代码记录我们的错误日志。
protected void Application_Error(Object sender, EventArgs e)
{
EventLog.WriteEntry("MyProject",
Server.GetLastError().InnerException.Message,
EventLogEntryType.Error);
}
然后我们可以在“控制面板->管理工具->事件查看器”中查看我们的错误日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: