Improve Error Handler
This commit is contained in:
parent
d93d9142ff
commit
311516fc9f
@ -1,22 +1,34 @@
|
|||||||
Imports DigitalData.Modules.Logging
|
Imports System.Reflection
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
Public Class ClassErrorHandler
|
Public Class ClassErrorHandler
|
||||||
Private _Logger As Logger
|
Private _Logger As Logger
|
||||||
|
|
||||||
|
Private Const UNKNOWN_METHOD = "Unknown Method"
|
||||||
|
Private Const UNKNOWN_FORM = "Unknown Form"
|
||||||
|
|
||||||
Public Sub New(Logger As Logger)
|
Public Sub New(Logger As Logger)
|
||||||
_Logger = Logger
|
_Logger = Logger
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function GetMessage(Exception As Exception)
|
Private Function GetMessage(Exception As Exception)
|
||||||
Dim oTargetSite = Exception.TargetSite
|
Dim oTargetSite = Exception.TargetSite
|
||||||
Dim oMethodName = oTargetSite.ReflectedType.Name
|
Dim oMethodName = GetMethodName(Exception)
|
||||||
Dim oFormName = oTargetSite.ReflectedType.ReflectedType.Name
|
Dim oFormName = GetFormName(Exception)
|
||||||
Dim oMessage As String = String.Empty
|
Dim oMessage As String = String.Empty
|
||||||
|
|
||||||
oMessage &= $"Form: {oFormName}{vbNewLine}"
|
oMessage &= $"Form: {oFormName}{vbNewLine}"
|
||||||
oMessage &= $"Method: {oMethodName}{vbNewLine}"
|
oMessage &= $"Method: {oMethodName}{vbNewLine}"
|
||||||
oMessage &= $"{Exception.Message}{vbNewLine}"
|
|
||||||
oMessage &= $"{Exception.StackTrace}{vbNewLine}{vbNewLine}"
|
If Not String.IsNullOrEmpty(Exception.StackTrace) Then
|
||||||
|
oMessage &= $"Message: {Exception.Message}{vbNewLine}{vbNewLine}"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not String.IsNullOrEmpty(Exception.StackTrace) Then
|
||||||
|
oMessage &= $"Stacktrace: {Exception.StackTrace}{vbNewLine}"
|
||||||
|
End If
|
||||||
|
|
||||||
|
oMessage &= $"{vbNewLine}"
|
||||||
oMessage &= $"Please report this error to error@digitaldata.works"
|
oMessage &= $"Please report this error to error@digitaldata.works"
|
||||||
|
|
||||||
Return oMessage
|
Return oMessage
|
||||||
@ -26,4 +38,24 @@ Public Class ClassErrorHandler
|
|||||||
_Logger.Error(Exception)
|
_Logger.Error(Exception)
|
||||||
MsgBox(GetMessage(Exception), MsgBoxStyle.Critical, "Unexpected Error")
|
MsgBox(GetMessage(Exception), MsgBoxStyle.Critical, "Unexpected Error")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Function GetMethodName(Exception As Exception) As String
|
||||||
|
Dim oMethodName = Exception.TargetSite?.ReflectedType?.Name
|
||||||
|
|
||||||
|
If oMethodName Is Nothing Then
|
||||||
|
Return UNKNOWN_METHOD
|
||||||
|
Else
|
||||||
|
Return oMethodName
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetFormName(Exception As Exception) As String
|
||||||
|
Dim oFormName = Exception.TargetSite?.ReflectedType?.ReflectedType?.Name
|
||||||
|
|
||||||
|
If oFormName Is Nothing Then
|
||||||
|
Return UNKNOWN_FORM
|
||||||
|
Else
|
||||||
|
Return oFormName
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user