Ниже, почему Throw
не поддерживает мой исходный номер строки?
Если я запускаю DerivedPage, мой файл журнала отображает ошибку как строку 7.
Разве это не должно сказать строку 4?Это имело бы смысл, если бы у меня было Throw ex
, но у меня нет.
Разве Throw
само по себе не должно просто отбрасывать и выдавать ошибку?
Если я удаляю Try...Catch
полностью заблокировать в DerivedPage, тогда мой файл журнала правильно перечисляет 3 в качестве строки ошибки, но я не могу записать какую-либо информацию в случае ошибки.
Что я могу сделать, чтобы сохранить свой DerivedPage, и до сих пормой журнал сохраняет правильный номер строки?
Public Class DerivedPage Inherits BasePage
Page_Load(o,e)
Try
Dim a = 3 -"a"
Catch ex As Exception
log.Info(...)
Throw
End Try
End Class
базовая страница:
Public Class BasePage
Protected Overrides Sub OnError(e)
MyBase.OnError(e)
log.Error(Me.GetType(), Server.GetLastError)
End Sub
End Class
EDIT : log.Error
выводит InnerException, если он существует.Это в этом случае.Однако трассировка стека для InnerException не содержит номер строки, только сведения об исключении.