2010-03-29 65 views
0

我正在使用异常捕获程序,它是跟踪错误的模块,它将错误描述写入服务器中的日志文件中。我想要在具有多行的常见错误页面中显示错误详细信息从module.Is有可能的共同作用文本框做that.If可能的,我怎么能做到这一点....基于错误异常显示错误页面?

尝试

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

抓住前作为例外

CreateLogFile(实施例)

结束Try

上面的描述是从代码

在模块捕获部的错误我已写入的CreateLogFile功能其中写入日志文件。

我想写作应包含错误信息的日志文件后显示错误页面....

请帮助...?。 alt text http://file:///C:/Documents%20and%20Settings/Ramesh.DEV/Desktop/bbbb.bmp

回答

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正在采取这些意见作为字符串。

重要注意事项:如果您在之前的任何问题中收到的答案对您有帮助,请考虑返回并点击答案旁边的绿色复选标记。这会让人们更有可能为未来的问题提供答案。

+0

我尝试了整个事情并为测试创建了一个错误,但无法重定向到Error页面。我用throw语句导致了这个错误 - '执行子请求错误'。 – Ramesh 2010-03-29 08:45:13

+0

@Ramesh我正在寻找,但似乎有几个不同的可能原因。当你调用'Server.Transfer'时,你确定在字符串中指定的页面是否存在? – 2010-03-29 08:58:36

+0

不,实际上我创建了错误....错误页面正在打开,但在另一个窗口中....为什么? – Ramesh 2010-03-29 09:47:58

0

后你打电话给你CreateLogFile方法,那么你会发出的Response.Redirect或Server.Transfer的到你的错误页面

+0

如何在模块中调用Response.Redirect?... 我已经在模块中写入了函数? – Ramesh 2010-03-29 08:23:56

+0

HttpContext.Current.Response.Redirect – TheGeekYouNeed 2010-04-01 08:34:40