我没有测试过这一切,但你可以尝试重新抛出异常。
Catch ex as exception
CreateLogFile(Ex)
Throw
End Try
然后,要处理该问题,请在解决方案中添加一个新的“全局应用程序类”。 Visual Studio应该创建一个新文件Global.asax。在其后面的代码中,执行如下操作:
Public Class Global
Inherits System.Web.HttpApplication
Protected Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
Server.Transfer("~/Error.aspx")
End Sub
End Class
这样做的好处是它会捕获任何未捕获的异常。那么,一旦在Error.aspx,或什么:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim ex As Exception = Server.GetLastError()
If ex Is Nothing Then
'Can't determine last error
Else
ex = ex.GetBaseException()
If ex Is Nothing Then
'Can't determine last error
Else
'Display error message
End If
End If
End Sub
^出于某种原因,语法高亮显示的javascript正在采取这些意见作为字符串。
重要注意事项:如果您在之前的任何问题中收到的答案对您有帮助,请考虑返回并点击答案旁边的绿色复选标记。这会让人们更有可能为未来的问题提供答案。
我尝试了整个事情并为测试创建了一个错误,但无法重定向到Error页面。我用throw语句导致了这个错误 - '执行子请求错误'。 – Ramesh 2010-03-29 08:45:13
@Ramesh我正在寻找,但似乎有几个不同的可能原因。当你调用'Server.Transfer'时,你确定在字符串中指定的页面是否存在? – 2010-03-29 08:58:36
不,实际上我创建了错误....错误页面正在打开,但在另一个窗口中....为什么? – Ramesh 2010-03-29 09:47:58