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 obter mais informações, consulte Método WriteEntry (My.Application.Log e My.Log).

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 & ".")
    

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.

    O aplicativo dispara o evento UnhandledException antes do aplicativo principal ser executado.

  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)
    

Exemplo

Este exemplo 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

O próximo exemplo mostra o código completo para registrar uma exceção não manipulada.Você pode usar o Project Designer para acessar os eventos do aplicativo no Editor de Código.Para obter mais informações, consulte Como: Manipular eventos de aplicativo (Visual Basic).

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

Demonstra Passo a passo: Determinar onde My.aplicativo.log grava informações

Demonstra Passo a passo: Alterando onde My.aplicativo.log grava informações

Conceitos

Trabalhando com logs de aplicativos em Visual Basic

Referência

Objeto My.Application.Log

Objeto My.Log

Método WriteEntry (My.Application.Log e My.Log)

Método WriteException (My.Aplicativo.Log and My.log)