使用 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);
}
然后我们可以在“控制面板->管理工具->事件查看器”中查看我们的错误日志。
有两个在异常未处理时将被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);
}
然后我们可以在“控制面板->管理工具->事件查看器”中查看我们的错误日志。
相关文章推荐
- 使用Application_Error事件处理程序把异常记录到系统事件日志
- MVC 使用HandleErrorAttribute统一处理异常
- 使用IErrorHandle对WCF服务器进行异常处理
- MVC 验证和异常处理 自动验证使用 IDataErrorInfo 接口
- 想抛就抛:Application_Error中统一处理ajax请求执行中抛出的异常
- 使用Spring实现异常统一处理【四】--error-page中对异常进行log
- c# .net 我的Application_Error 全局异常抓取处理
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- Oracle 异常处理 raise_application_error sqlcode sqlerrm
- MVC使用HandleErrorAttribute处理异常
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- Oracle PL/SQL 非预定义异常、自定义异常处理、RAISE_APPLICATION_ERROR
- 使用Microsoft.ApplicationBlocks.ExceptionManagement处理程序异常
- 使用RAISE_APPLICATION_ERROR抛出与oracle交互的异常
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- 【Oracle】PL/SQL 非预定义异常、自定义异常处理、RAISE_APPLICATION_ERROR
- PHP 使用回调函数(set_error_handler)处理异常和错误
- 【Oracle】PL/SQL 非预定义异常、自定义异常处理、RAISE_APPLICATION_ERROR
- Objective-C中使用@try处理异常
- 利用 Application_Error 捕获所有异常 .