ASP.Net异常 - 在页面中捕获或在Global.asax中处理(Application_Error)

cwe*_*ton 1 asp.net error-handling exception global-asax

寻找最佳实践重点回答这里的解释.

ASP.Net应用程序的表示层是否应该捕获并处理从业务层抛出的异常,或者是否应该允许它们冒出来,在Global.ascxApplication_Error处理程序中它们都可以统一记录和处理?

即..

    protected void Application_Error(object sender, EventArgs e)
    {
        logExceptionDetails(Server.GetLastError());
        HttpContext.Current.Server.Transfer("~/Error.aspx");;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

Gre*_*reg 5

我对Exceptions的处理方法是让它们发生并用Elmah记录它们,并使用内置的自定义错误页面机制来通知我的用户出错了.

所有这些都可以使用零代码完成(在web.config中配置).

  • ELMAH给你,然后在任意数量的消息汇挂钩,如电子邮件,Twitter等,都在除了实际记录的附加(银河)的能力.说真的,花几分钟看看Elmah:http://code.google.com/p/elmah/ (2认同)