尝试/赶在全球性的。asax,同时记录错误的数据库需要?
-
28-09-2019 - |
题
所以我处理所有异常在我的项目在我的全球性的。asax页。例如,在一个随机的页面我可以有:
Protected Sub SomeFunction()
Try
'do something here
Catch ex As Exception
Throw ex
End Try
End Sub
那么异常的气泡到全球性的。asax页的在哪里我处理和记录数据库,像这样:
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
Dim ex As Exception = Server.GetLastError
Dim loggedExceptionID As Integer = 0
Try
loggedExceptionID = New BLL.ExceptionHandler().LogException(ex)
Response.Redirect("~/ErrorPage.aspx?ID=" & loggedExceptionID, False)
Catch loggingError As Exception
'what do I do here?
End Try
End Sub
该BLL。ExceptionHandler().LogException(ex)的功能只是写错误的详细信息的数据库。
所以我的问题是在Application_Error方法,我需要做的尝试/抓框当尝试写的数据库?我想我会在情况出现错误的连接等。-但是这真的有必要吗?此外,我会做什么的追赶框如果有一个错误?在这一点上,我想会捉错误的记录错误的,这是混淆在其自己的权利。
解决方案
它可能是一个很好的想法有一个尝试/抓住那里,我会做的就是编写详细的文本的文件或xml文件,以便可以参照后来的两个错误的未来和试图解决这些问题。这当然意味着你可能会想要一个尝试/抓住周围写入磁盘,在这种情况下,我只想放弃,并呼吁它的一天。=)
在一个完全单独的注意,你真的应该看看ELMAH: http://code.google.com/p/elmah/.这不可能是你想要的一切以及更多。
不隶属于 StackOverflow