【问题标题】:Global error handling in ASP.NET web formsASP.NET Web 表单中的全局错误处理
【发布时间】:2019-10-26 17:13:19
【问题描述】:

我想在我的 Web 表单应用程序中全局处理错误。并希望在发生异常后重定向到错误页面。

我在网络配置中做了以下更改。

 <customErrors mode="On" defaultRedirect="~/Error/Index">
    <error statusCode="500" redirect="~/Error/YourPage"/>             
  </customErrors>

如果我的页面中没有 try catch 块,它工作正常。 但是我的应用程序已经上线,它有很多 try catch 块,没有 throw 错误。

如果我来自catchthrow 错误比customErrors 工作正常。

但是在所有catch 块中没有throw 关键字,我不想更改所有catch 块。

我也在global.asax 中尝试了Application_Error 方法,但同样的事情也在发生。

那么我是否可以在不更改所有 catch 块的情况下重定向自定义错误?

【问题讨论】:

  • 据我所知没有......这些错误处理程序用于未处理的异常,如果你抓住它们,你正在处理它们,我得到的唯一替代方案将需要更多的努力才能达到你的目标更改所有捕获块。

标签: c# asp.net exception webforms


【解决方案1】:

我认为,删除 try / catch 块或在 catch 块中抛出异常。因为没有 throw 异常的 catch 块忽略了全局异常处理。

我会删除 try / catch 块,按状态抛出异常并使用 Application_Error 事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-14
    • 2012-03-16
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多