Global.asax Application_Error问题

时间:2013-02-08 16:37:35

标签: asp.net vb.net

我试图在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")

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

1 个答案:

答案 0 :(得分:1)

解决方案应为customErrors mode="On"
唯一的问题是你的问题是自定义错误的web.config条目,它应该如下

 <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>

有用的链接
ASP.NET custom error page - Server.GetLastError() is null
CustomErrors mode="Off"