Anvisningar: Logga undantag i Visual Basic

Du kan använda objekten My.Application.Log och My.Log för att logga information om undantag som inträffar i ditt program. De här exemplen My.Application.Log.WriteException visar hur du använder metoden för att logga undantag som du uttryckligen fångar upp och undantag som inte hanteras.

Använd metoden My.Application.Log.WriteEntry för att logga spårningsinformation. För mer information, se WriteEntry

Logga ett hanterat undantag

  1. Skapa den metod som ska generera undantagsinformationen.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Använd ett Try...Catch block för att fånga undantaget.

    Try
    Catch ex As Exception
    End Try
    
  3. Placera koden som kan generera ett undantag i Try blocket.

    Avkommentera raderna Dim och MsgBox för att orsaka ett NullReferenceException undantag.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. I blocket Catch använder du My.Application.Log.WriteException metoden för att skriva undantagsinformationen.

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

    I följande exempel visas den fullständiga koden för loggning av ett hanterat undantag.

    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
    

Logga ett ohanterat undantag

  1. Välj ett projekt i Solution Explorer. På Projekt-menyn väljer du Egenskaper.

  2. Klicka på fliken Program .

  3. Klicka på knappen Visa programhändelser för att öppna kodredigeraren.

    Då öppnas filen ApplicationEvents.vb.

  4. Låt ApplicationEvents.vb filen vara öppen i kodredigeraren. På menyn Allmänt väljer du MyApplication-händelser.

  5. På menyn Deklarationer väljer du UnhandledException.

    Programmet genererar UnhandledException händelsen innan huvudprogrammet körs.

  6. My.Application.Log.WriteException Lägg till metoden i UnhandledException händelsehanteraren.

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

    I följande exempel visas den fullständiga koden för att logga ett ohanterat undantag.

    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
    

Se även