Итак, я обработал все исключения в моем проекте на моей странице Global.asax. Например, на случайной странице у меня может быть:
Protected Sub SomeFunction()
Try
'do something here
Catch ex As Exception
Throw ex
End Try
End Sub
Итак, исключение всплывает на странице Global.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, нужен ли мне блок try / catch при попытке записи в базу данных? Я думаю, что сделал бы, если что-то пойдет не так с соединением и т. Д. - но действительно ли это необходимо? Кроме того, что я буду делать в блоке catch, если возникнет ошибка? В этот момент я бы поймал ошибку регистрации ошибки, которая сама по себе сбивает с толку.