我一直在研究如何在ASP.NET应用程序中全局处理错误。我已经决定使用带有以下代码的web.config文件:
<customErrors mode="On" defaultRedirect="errorpage.aspx">
</customErrors>
这是我的errorpage.aspx.vb代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ex As Exception = Server.GetLastError
End Sub
我遇到的问题是Server.GetLastError
最终没有任何结果。我该怎么做才能访问上一个错误信息?由于它位于asp表单页面上,我不应该将HttpContext.Current.
添加到Server.GetLastError
,对吗?
由于
答案 0 :(得分:3)
您可以捕获全局错误using the global.asax。
错误页面是通过一个简单的http重定向加载的,很遗憾不知道特定用户的最后一个错误是什么。
答案 1 :(得分:1)
尝试使用ELMAH捕获错误。它可以自定义,并且可以在后台进行处理而无需向用户报告。它可以将错误发送到并通过电子邮件发送和/或将它们保存在数据库中。我在我的所有应用程序中都使用它。