ASP.NET Web表单中的全局错误处理

时间:2019-06-12 08:39:38

标签: c# asp.net exception webforms

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

我做了以下Web配置更改。

schemas=SCHEMA1,SCHEMA2,SCHEMA3
include=TABLE:"IN (SELECT object_name FROM SCHEMA4.TMP_MIGRATION_EXPOBJECTS where object_type = 'TABLE')"
include=SEQUENCE:"IN (SELECT object_name FROM SCHEMA4.TMP_MIGRATION_EXPOBJECTS where object_type = 'SEQUENCE')"

如果我的页面中没有 <customErrors mode="On" defaultRedirect="~/Error/Index"> <error statusCode="500" redirect="~/Error/YourPage"/> </customErrors> try块,则效果很好。 但是我的应用程序已经启动,并且包含许多catch try个块,而没有catch错误。

如果我从throwthrow的错误比catch好,就可以了。

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

我还尝试了catch中的Application_Error方法,但是同样的事情也在发生。

那么有可能我可以在不更改所有global.asax块的情况下重定向自定义错误吗?

1 个答案:

答案 0 :(得分:0)

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

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