0

我正在尝试在 Global.asax 的 Application_Error 事件中处理未捕获的异常。目前看起来像

Sub Application_Error(ByVal sender as object, ByVal e as EventArgs)
    Server.ClearError()
    Response.Redirect("~/ErrorPages/GenericError.aspx")
End Sub

在另一个页面的 Page_load 中抛出一个全新的异常

Throw New Exception()

最终实际发生的是执行永远不会离开源页面,并抛出默认的 asp 错误页面,引用我的异常。为什么它没有被发送到我的错误页面?

编辑:固定Response.Redirect。现在看起来像:

Response.Redirect("http://mysite/ErrorPages/GenericError.aspx")

还对我的web.config文件进行了krsekhar建议的更改。当我现在被发送到我的错误页面时,它使用的是默认重定向而不是我输入的重定向Application_Error。还有其他想法吗?

4

1 回答 1

1

The solution should be customErrors mode="On"
The only problem looks for your qustion is web.config entry for customError it should be as follows

 <configuration>
    <system.web>
       <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
           <error statusCode="403" redirect="NoAccess.htm" />
           <error statusCode="404" redirect="FileNotFound.htm" />
            ...
       </customErrors>
    </system.web>
  </configuration>

Helpful links
ASP.NET custom error page - Server.GetLastError() is null
CustomErrors mode="Off"

于 2013-02-08T16:51:32.587 回答