根据错误异常显示错误页面?

时间:2010-03-29 07:56:29

标签: asp.net

我正在使用异常捕获过程,该过程是跟踪错误的模块,它将错误描述写入服务器的日志文件中。我想在一个常见的错误页面中显示错误详细信息来自模块中常用功能的行文本框。是否可以这样做。如果可能,我该怎么做....

尝试

;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;

赶上例外

CreateLogFile(实施例)

结束尝试

以上描述是代码中的错误捕获部分

在模块中,我编写了写日志文件的CreateLogFile函数。

我想在写入应包含错误详细信息的日志文件后显示错误页面。

请帮助......?{。{3}}

2 个答案:

答案 0 :(得分:0)

在调用CreateLogFile方法之后,您将向您的错误页面发出Response.Redirect或Server.Transfer

答案 1 :(得分:0)

我没有测试过所有这些,但你可以尝试重新抛出异常。

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的语法将这些注释作为字符串。

重要提示:如果您在之前的任何问题中收到了帮助您的答案,可以考虑返回并点击该答案旁边的绿色复选标记。这将使人们更有可能为您未来的问题提供答案。