在c#中替换try ... catch块

时间:2015-03-11 09:14:11

标签: c# exception web exception-handling

除了使用try ... catch块进行异常处理和进一步记录之外,是否存在任何可能性/代码。 我们正在开发一个带有几个屏幕的Web应用程序。客户要求我们不要在每个函数/方法中放置try ... catch块来处理错误。请建议。

谢谢

2 个答案:

答案 0 :(得分:2)

  

我们正在开发一个带有几个屏幕的Web应用程序

虽然您的客户端要求对我没有多大意义,但您可以使用 global.asax 中的Application_Error事件来处理未处理的异常

void Application_Error(object sender, EventArgs e)
{
     //Your logging code goes here
}

How to: Handle Application-Level Errors

  

此代码示例演示如何在中创建错误处理程序   Global.asax文件将捕获所有未处理的ASP.NET错误   处理请求 - 换句话说,所有错误都没有   使用Try / Catch块或页面级错误处理程序捕获。在里面   例如,处理程序将控制权转移到名为的通用错误页面   GenericErrorPage.aspx,它解释错误并显示一个   适当的消息。

作为桌面应用程序(如WinForms或Window Services)的附加说明,您可以使用AppDomain.CurrentDomain.UnhandledExceptionApplication.ThreadException等。

答案 1 :(得分:1)

您可以在global.asax中使用Application_Error,此方法处理应用程序中所有页面的错误。

对于特定页面,例如default.aspx,您可以实现Page_Error