Delen via


Procedure: Uitzonderingen vastleggen in Visual Basic

U kunt de My.Application.Log en My.Log objecten gebruiken om informatie te registreren over uitzonderingen die zich in uw toepassing voordoen. In deze voorbeelden ziet u hoe u de My.Application.Log.WriteException methode gebruikt om uitzonderingen te registreren die u expliciet onderscheppen en uitzonderingen die niet zijn verwerkt.

Gebruik de My.Application.Log.WriteEntry methode voor traceringsgegevens voor logboekregistratie. Zie WriteEntry voor meer informatie

Een afgehandelde uitzondering registreren

  1. Maak de methode waarmee de uitzonderingsgegevens worden gegenereerd.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Gebruik een Try...Catch blok om de uitzondering te ondervangen.

    Try
    Catch ex As Exception
    End Try
    
  3. Plaats de code die een uitzondering in het Try blok kan genereren.

    Verwijder opmerkingen bij de Dim regels MsgBox om een NullReferenceException uitzondering te veroorzaken.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Gebruik in het Catch blok de My.Application.Log.WriteException methode om de uitzonderingsgegevens te schrijven.

    My.Application.Log.WriteException(ex,
        TraceEventType.Error,
        "Exception in ExceptionLogTest " &
        "with argument " & fileName & ".")
    

    In het volgende voorbeeld ziet u de volledige code voor het vastleggen van een afgehandelde uitzondering.

    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
    

Een niet-verwerkte uitzondering registreren

  1. Een project selecteren in Solution Explorer. Kies Eigenschappen in het menu Project.

  2. Klik op het tabblad Toepassing .

  3. Klik op de knop Toepassingsevenementen weergeven om de Code-editor te openen.

    Hiermee opent u het bestand ApplicationEvents.vb.

  4. Laat het ApplicationEvents.vb bestand openen in de Code-editor. Kies MyApplication Events in het menu Algemeen.

  5. Kies UnhandledException in het menu Declaraties.

    De toepassing genereert de UnhandledException gebeurtenis voordat de hoofdtoepassing wordt uitgevoerd.

  6. Voeg de My.Application.Log.WriteException methode toe aan de UnhandledException gebeurtenis-handler.

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
    

    In het volgende voorbeeld ziet u de volledige code voor het vastleggen van een niet-verwerkte uitzondering.

    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
    

Zie ook