Gewusst wie: Protokollieren von Ausnahmen in Visual BasicHow to: Log Exceptions 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.You can use the My.Application.Log and My.Log objects to log information about exceptions that occur in your application. 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.These examples show how to use the My.Application.Log.WriteException method to log exceptions that you catch explicitly and exceptions that are unhandled.

Verwenden Sie für die Protokollierung von Nachverfolgungsinformationen die Methode My.Application.Log.WriteEntry.For logging tracing information, use the My.Application.Log.WriteEntry method. Weitere Informationen finden Sie unter WriteEntryFor more information, see WriteEntry

Protokollieren einer behandelten AusnahmeTo log a handled exception

  1. Erstellen Sie die Methode, die die Ausnahmeinformationen generiert.Create the method that will generate the exception information.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Verwenden Sie einen Try...Catch-Block, um die Ausnahme abzufangen.Use a Try...Catch block to catch the exception.

    Try
    Catch ex As Exception
    End Try
    
  3. Fügen Sie den Code, der eine Ausnahme generieren kann, in den Try-Block ein.Put the code that could generate an exception in the Try block.

    Heben Sie die Auskommentierung der Zeilen Dim und MsgBox auf, um eine NullReferenceException-Ausnahme auszulösen.Uncomment the Dim and MsgBox lines to cause a NullReferenceException exception.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Verwenden Sie im Catch-Block die My.Application.Log.WriteException-Methode, um die Ausnahmeinformationen zu schreiben.In the Catch block, use the My.Application.Log.WriteException method to write the exception information.

    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.The following example shows the complete code for logging a handled exception.

    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 AusnahmeTo log an unhandled exception

  1. Ein Projekt auswählen in Projektmappen-Explorer.Have a project selected in Solution Explorer. Klicken Sie im Menü Projekt auf Eigenschaften.On the Project menu, choose Properties.

  2. Klicken Sie auf die Registerkarte Anwendung .Click the Application tab.

  3. Klicken Sie auf die Schaltfläche Anwendungsereignisse anzeigen um den Code-Editor zu öffnen.Click the View Application Events button to open the Code Editor.

    Dadurch wird die Datei "ApplicationEvents.vb" geöffnet.This opens the ApplicationEvents.vb file.

  4. Öffnen Sie die Datei "ApplicationEvents.vb" im Code-Editor.Have the ApplicationEvents.vb file open in the Code Editor. Wählen Sie im Menü Allgemein den Eintrag MyApplication-Ereignisseaus.On the General menu, choose MyApplication Events.

  5. Wählen Sie im Menü Deklarationen den Eintrag UnhandledException aus.On the Declarations menu, choose UnhandledException.

    Die Anwendung löst das Ereignis UnhandledException aus, bevor die Hauptanwendung ausgeführt wird.The application raises the UnhandledException event before the main application runs.

  6. Fügen Sie die Methode My.Application.Log.WriteException zum UnhandledException -Ereignishandler hinzu.Add the My.Application.Log.WriteException method to the UnhandledException event handler.

    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.The following example shows the complete code for logging an unhandled exception.

    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 auchSee Also

Microsoft.VisualBasic.Logging.Log
WriteEntry
WriteException
Arbeiten mit AnwendungsprotokollenWorking with Application Logs
Gewusst wie: Schreiben von ProtokollmeldungenHow to: Write Log Messages
Exemplarische Vorgehensweise: Bestimmen, wohin „My.Application.Log“ Informationen schreibtWalkthrough: Determining Where My.Application.Log Writes Information
Exemplarische Vorgehensweise: Ändern des Orts, in den „My.Application.Log“ Informationen schreibtWalkthrough: Changing Where My.Application.Log Writes Information