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
Crie o método que irá gerar as informações da exceção.
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Use um bloco Try...Catch para capturar a exceção.
Try Catch ex As Exception End Try
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)
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
Tenha um projeto selecionado no Solution Explorer. No menu Project, escolha Properties.
Clique na guia Application.
Clique no botão View Application Events para abrir o Editor de Código.
Isso abre o arquivo ApplicationEvents.vb.
Deixe o arquivo ApplicationEvents.vb aberto no Editor do Código. No menu General, escolha MyApplication Events.
No menu Declarations, escolha UnhandledException.
Gera a aplicativo de UnhandledException o evento antes da execução de aplicativo principal.
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 (Visual Basic)
Demonstra Passo a passo: Determinar onde My.Application.Log grava informações (Visual Basic)
Demonstra Passo a passo: Alterando onde My.Application.Log grava informações (Visual Basic)
Referência
Microsoft.VisualBasic.Logging.Log