【问题标题】:General exception handling without global.asax file没有 global.asax 文件的一般异常处理
【发布时间】:2012-03-21 14:40:04
【问题描述】:

我想知道是否有办法在 Visual Studio 项目中捕获所有未处理的异常。我的项目没有任何名为 global 或 global.asax 的文件,所以我想知道是否有其他方法可以捕获任何和所有未处理的异常?到目前为止,我已经尝试围绕特定的代码块进行异常处理,但它没有任何效果。

【问题讨论】:

  • 如果您的项目没有..您可以通过在解决方案窗口中右键单击您的项目来添加文件..使用 Global.asax 比在后面的代码中使用 catch 块更优雅...
  • “到目前为止,我已经尝试在特定的代码块周围进行异常处理,但它没有任何效果”......您能否发布一些您尝试处理的示例例外情况并解释您的意思?您是否尝试过在 void Application_Error(object sender, EventArgs e) 事件中添加一个 global.asax 文件?

标签: asp.net vb.net visual-studio-2010


【解决方案1】:

您可以将 global.asax 文件添加到您的网站并为 Application_Error 添加一个实现,并且在处理请求期间引发的所有异常都将在那里进行。处理异常后,调用Server.ClearError() 以防止出现默认的 ASP.NET 错误页面。

另一种选择是在您的项目中安装ELMAH,这是一个非常不错且可自定义的错误处理框架。

【讨论】:

    【解决方案2】:

    只需添加 global.asax,添加新项目并选择“全局应用程序类”

    【讨论】:

      【解决方案3】:

      我提到了 here 关于页面/应用程序级别的处理

      【讨论】:

        猜你喜欢
        • 2012-05-20
        • 2010-10-09
        • 2010-12-10
        • 1970-01-01
        • 2014-12-09
        • 1970-01-01
        • 2012-09-17
        • 1970-01-01
        • 2014-05-11
        相关资源
        最近更新 更多