Gewusst wie: Protokollieren von Ausnahmen in Visual Basic
Sie können die Objekte My.Application.Log
und My.Log
verwenden, um Informationen zu Ausnahmen zu protokollieren, die in Ihrer Anwendung auftreten. In diesen Beispielen wird gezeigt, wie Sie die My.Application.Log.WriteException
-Methode verwenden können, um Ausnahmen zu protokollieren, die Sie explizit abfangen bzw. die unbehandelt sind.
Verwenden Sie für die Protokollierung von Nachverfolgungsinformationen die Methode My.Application.Log.WriteEntry
. Weitere Informationen finden Sie unter WriteEntry.
Protokollieren einer behandelten Ausnahme
Erstellen Sie die Methode, die die Ausnahmeinformationen generiert.
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Verwenden Sie einen
Try...Catch
-Block, um die Ausnahme abzufangen.Try Catch ex As Exception End Try
Fügen Sie den Code, der eine Ausnahme generieren kann, in den
Try
-Block ein.Heben Sie die Auskommentierung der Zeilen
Dim
undMsgBox
auf, um eine NullReferenceException-Ausnahme auszulösen.' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString)
Verwenden Sie im
Catch
-Block dieMy.Application.Log.WriteException
-Methode, um die Ausnahmeinformationen zu schreiben.My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".")
Das folgende Beispiel zeigt den vollständigen Code für das Protokollieren einer behandelten Ausnahme.
Public Sub ExceptionLogTest(ByVal fileName As String) Try ' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString) Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".") End Try End Sub
Protokollieren einer nicht behandelten Ausnahme
Ein Projekt auswählen in Projektmappen-Explorer. Klicken Sie im Menü Projekt auf Eigenschaften.
Klicken Sie auf die Registerkarte Anwendung .
Klicken Sie auf die Schaltfläche Anwendungsereignisse anzeigen um den Code-Editor zu öffnen.
Dadurch wird die Datei "ApplicationEvents.vb" geöffnet.
Öffnen Sie die Datei "ApplicationEvents.vb" im Code-Editor. Wählen Sie im Menü Allgemein den Eintrag MyApplication-Ereignisseaus.
Wählen Sie im Menü Deklarationen den Eintrag UnhandledException aus.
Die Anwendung löst das Ereignis UnhandledException aus, bevor die Hauptanwendung ausgeführt wird.
Fügen Sie die Methode
My.Application.Log.WriteException
zumUnhandledException
-Ereignishandler hinzu.My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString)
Das folgende Beispiel zeigt den vollständigen Code für das Protokollieren einer nicht behandelten Ausnahme.
Private Sub MyApplication_UnhandledException( ByVal sender As Object, ByVal e As ApplicationServices.UnhandledExceptionEventArgs ) Handles Me.UnhandledException My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString) End Sub
Siehe auch
- Microsoft.VisualBasic.Logging.Log
- WriteEntry
- WriteException
- Arbeiten mit Anwendungsprotokollen
- How to: Schreiben von Protokollmeldungen
- Exemplarische Vorgehensweise: Bestimmen, wohin „My.Application.Log“ Informationen schreibt
- Exemplarische Vorgehensweise: Ändern des Orts, in den „My.Application.Log“ Informationen schreibt