我试图在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
中提供的重定向。还有其他想法吗?
答案 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"