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
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.
O aplicativo dispara o evento UnhandledException antes do aplicativo principal ser executado.
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
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