我喜欢在我的网站中使用自定义错误。 想法是捕获错误并向用户显示友好有意义的消息。 真实的错误详情(行号,页面...)将通过电子邮件发送给我。 我在VB.NET编程。 到目前为止,我发现的每个代码都说我必须使用global.asax。 我不喜欢使用global.asax,我只想制作一个错误页面,它会向我发送一封包含所有错误详细信息的电子邮件。 到现在为止,我转到web.config文件并插入以下行:
<customErrors defaultRedirect="test.aspx" mode="On"></customErrors>
test.aspx看起来像这样:
Sub Page_Error(sender as Object, e as EventArgs)
Dim ctxOBJ As HttpContext
Dim exceptionOBJ As Exception
Dim errorInfoTXT As String
ctxOBJ = HttpContext.Current()
exceptionOBJ = ctxOBJ.Server.GetLastError()
errorInfoTXT = "
Offending URL: " & ctxOBJ.Request.Url.ToString() & _
"
Source: " & exceptionOBJ.Source.ToString() & _
"
Message: " & exceptionOBJ.Message.ToString() & _
"
Stack trace: " & exceptionOBJ.StackTrace.ToString() & _
"
Target Site: " & exceptionOBJ.TargetSite.ToString()
ctxOBJ.Response.Write (errorInfoTXT)
ctxOBJ.Server.ClearError ()
End Sub
如果某个页面出现错误,则会将其重定向到test.aspx,但不会显示任何错误。
谢谢,
Roy Shoa。
答案 0 :(得分:1)
您只需将其更改为
即可Sub Page_Load(sender as Object, e as EventArgs)
错误页面不是错误的,因此它的错误事件永远不会触发。