Como: Log Exceptions in Visual Basic

Você pode usar os objetos My.Application.Log e My.Log para criar um log de informações sobre exceções que ocorrem em seu aplicativo.Esses exemplos mostram como usar o método My.Application.Log.WriteException para registrar exceções que você tratou explicitamente com catch e exceções que não estão tratadas.

Para registrar informações de rastreamento, use o método My.Application.Log.WriteEntry.Para mais informações, consulte WriteEntry.

Para registrar uma exceção manipulada

  1. Crie o método que irá gerar as informações da exceção.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Use um bloco Try...Catch para capturar a exceção.

    Try
    Catch ex As Exception
    End Try
    
  3. Coloque o código que poderá gerar uma exceção no bloco Try.

    Tire os comentários das linhas Dim e MsgBox para causar uma exceção NullReferenceException.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. No bloco Catch, use o método My.Application.Log.WriteException para gravar as informações de exceção.

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

    O exemplo a seguir mostra o código completo para registrar uma exceção manipulada.

    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
    

Para registrar uma exceção não tratada

  1. Tenha um projeto selecionado no Solution Explorer.No menu Project, escolha Properties.

  2. Clique na guia Application.

  3. Clique no botão View Application Events para abrir o Editor de Código.

    Isso abre o arquivo ApplicationEvents.vb.

  4. Deixe o arquivo ApplicationEvents.vb aberto no Editor do Código.No menu General, escolha MyApplication Events.

  5. No menu Declarations, escolha UnhandledException.

    Gera a aplicativo do UnhandledException evento antes do aplicativo principal executar.

  6. Adicione o método My.Application.Log.WriteException para o manipulador de eventos UnhandledException.

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

    O exemplo a seguir mostra o código completo para registrar uma exceção não tratada.

    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
    

Consulte também

Tarefas

Como: gravar mensagens de Log (Visual Basic)

Passo a passo: Determinar onde My.Application.Log grava informações (Visual Basic)

Passo a passo: Alterando onde My.Application.Log grava informações (Visual Basic)

Referência

Microsoft.VisualBasic.Logging.Log

WriteEntry

WriteException

Conceitos

Trabalhando com Logs de aplicativo em Visual Basic