ErrorEventArgs - auslesen der Fehlerinformationen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    ErrorEventArgs - auslesen der Fehlerinformationen

    Moin!

    ich habe eine Funktion für die Überwachung in eine Outlook-Anwendung integriert.

    Bis ich gestern etwas, an einer völlig anderen Stelle, gehändert habe gab es keine Probleme.

    Die Reg-Überwachung wird wie folge eingebunden:

    VB.NET-Quellcode

    1. Dim keyName1 As String = "HKEY_CURRENT_USER\SOFTWARE\EBL-CADGIS\CURRENT_GRDSTK"
    2. _RegistryMonitor1 = New RegistryMonitor(keyName1)
    3. AddHandler _RegistryMonitor1.RegChanged, New EventHandler(AddressOf OnRegChanged)
    4. AddHandler _RegistryMonitor1.[Error], New System.IO.ErrorEventHandler(AddressOf OnError)
    5. _RegistryMonitor1.Start()


    Damm gibt es die beiden Funktionen OnRegChanged, OnError und StopRegistryMonitor.

    VB.NET-Quellcode

    1. Private Sub OnRegChanged(ByVal sender As Object, ByVal e As EventArgs)
    2. SetCurrentGrundstück() ' aktuelles Grundstück
    3. SetCurrentGenehmigung() ' aktuelle Genehmigung
    4. End Sub
    5. Private Sub OnError(ByVal sender As Object, ByVal e As ErrorEventArgs)
    6. StopRegistryMonitor()
    7. End Sub
    8. Private Sub StopRegistryMonitor()
    9. Try
    10. If _RegistryMonitor1 IsNot Nothing Then
    11. _RegistryMonitor1.[Stop]()
    12. RemoveHandler _RegistryMonitor1.RegChanged, New EventHandler(AddressOf OnRegChanged)
    13. RemoveHandler _RegistryMonitor1.[Error], New System.IO.ErrorEventHandler(AddressOf OnError)
    14. _RegistryMonitor1 = Nothing
    15. End If
    16. Catch ex As Exception
    17. MessageBox.Show("Fehler bei StopRegistryMonitor!" & Environment.NewLine & ex.ToString, _k_GlobalErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error)
    18. End Try
    19. End Sub


    OnRegChanged kommt bei den Kollegen wohl gar nicht erst zur Ausführung.

    Nachdem ich über das Ereignisprotokoll einen Hinweis auf StopRegistryMonitor bekommen habe wurde das Try-Catch, wie oben darstellt, eingebaut.

    Es wird also zuvor ein OnError aufgerufen.

    Die Meldung lautet:


    Bei mir am Entwicklungsrechner läuft es ja - aber ich würde gerne mehr zum aufrufenden Ereignis für OnError erhalten.

    Reicht für eine Fehlerauswertung ein

    VB.NET-Quellcode

    1. e.tostring


    als Meldung aus oder werden die Übergabeparameter

    VB.NET-Quellcode

    1. (ByVal sender As Object, ByVal e As ErrorEventArgs)


    anders besser ausgewertet?

    Was mich am Ende wundert ist das die Objektinstanz fehlen soll. Das Error hat doch reagiert und wird an die Objektinstanz gehängt.

    Gruß Jan
    Moin!

    das merkwürdige ist, das einige den Fehler gar nicht hatten und andere doch.

    Ich hatte irgendwie 3 Instanzen und es kann sein das ein Stop die anderen auch gekillt hat.

    Jetzt habe ich das etwas überarbeitet und muss weiter beobachten.

    Das merkwürdige war, dass an der Stelle überhaupt nichts passiert ist. Aber das sagt man ja immern. .-)

    Gruß Jan

    jan99 schrieb:

    oder werden die Übergabeparameter ... anders besser ausgewertet?
    Klick mal auf ErrorEventArgs und drück F12.
    Da gelanbst Du zum ObjectBrowser und Du bekommst die Information, dass Du da eine Exception-Instanz abholen kannst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!