Sdílet prostřednictvím


Postupy: Protokolování výjimek v jazyce Visual Basic

Objekty a My.Log objekty můžete použít My.Application.Log k protokolování informací o výjimkách, ke kterým dochází ve vaší aplikaci. Tyto příklady ukazují, jak použít metodu My.Application.Log.WriteException k protokolování výjimek, které zachytíte explicitně a výjimky, které jsou neošetřené.

Pro protokolování trasování informací použijte metodu My.Application.Log.WriteEntry . Další informace viz WriteEntry.

Protokolování zpracovávané výjimky

  1. Vytvořte metodu, která vygeneruje informace o výjimce.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Try...Catch K zachycení výjimky použijte blok.

    Try
    Catch ex As Exception
    End Try
    
  3. Vložte kód, který by mohl vygenerovat výjimku v Try bloku.

    Zrušte Dim komentář a MsgBox řádky, aby způsobily NullReferenceException výjimku.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Catch V bloku použijte metodu My.Application.Log.WriteException k zápisu informací o výjimce.

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

    Následující příklad ukazuje úplný kód pro protokolování zpracovávané výjimky.

    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
    

Protokolování neošetřené výjimky

  1. Vyberte projekt v Průzkumník řešení. V nabídce Projekt zvolte Vlastnosti.

  2. Klikněte na kartu Aplikace .

  3. Kliknutím na tlačítko Zobrazit události aplikace otevřete Editor kódu.

    Tím se otevře soubor ApplicationEvents.vb.

  4. Otevřete soubor ApplicationEvents.vb v Editoru kódu. V nabídce Obecné zvolte Události aplikace MyApplication.

  5. V nabídce Deklarace zvolte UnhandledException.

    Aplikace vyvolá UnhandledException událost před spuštěním hlavní aplikace.

  6. Přidejte metodu My.Application.Log.WriteException do obslužné rutiny UnhandledException události.

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

    Následující příklad ukazuje úplný kód pro protokolování neošetřené výjimky.

    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
    

Viz také