2 Stimmen

Verwendung von Reflexion zur Erfassung von Fehlerdetails

Ich habe eine kurze Frage, die hoffentlich schon mal jemand beantwortet hat. In dem System, an dem ich derzeit arbeite, haben wir unseren eigenen benutzerdefinierten Anbieter für die Behandlung von Web-Ausnahmen gerollt. Eines der Dinge, die ich über diesen Anbieter mag, ist, dass es uns erlaubt, in Parameterwerte der Methode, die die Ausnahme auslöst hinzuzufügen. Der Code sieht in etwa wie folgt aus.

Public Sub Dosomething(ByVal Parameter1 As String, ByVal Parameter2 As String)
    Try
        'Do some process that causes and error.
    Catch ex As Exception
        Dim ErrorDetails = New List(Of String)

        ErrorDetails.Add("Parameter Values:")
        ErrorDetails.Add(String.Format("Parameter 1: {0}", Parameter1))
        ErrorDetails.Add(String.Format("Parameter 2: {0}", Parameter2))

        RaiseNewCustomException(ex, ErrorDetails)
    End Try
End Sub

Bei dieser Methode ist die Erfassung der Parameter und ihrer Werte sehr manuell und fehleranfällig, da immer mehr Personen die Codebasis berühren und vergessen, den ausgelösten Fehler zu aktualisieren. Gibt es eine Möglichkeit, dieses Problem auf eine automatisierte / weniger fehleranfällige Weise anzugehen?

Ich habe mit Reflexion herumgespielt, aber ich glaube nicht, dass man die Parameterwerte über Reflexion ermitteln kann. Ich würde gerne so etwas wie:

Public Sub Dosomething(ByVal Parameter1 As String, ByVal Parameter2 As String)
    Try
        'Do some process that causes and error.
    Catch ex As Exception
        RaiseNewCustomExceptionAndAutomaticallyGenerateParameterErrorString(ex, System.Reflection.MethodInfo.GetCurrentMethod())
    End Try
End Sub

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X