Como registrar em log as exceções no Visual Basic
É possível usar os objetos My.Application.Log
e My.Log
para registrar em log informações sobre exceções que ocorrem em um aplicativo. Esses exemplos mostram como usar o método My.Application.Log.WriteException
para registrar em log exceções capturadas explicitamente e exceções sem tratamento.
Para registrar informações de rastreamento de registros em log, use o método My.Application.Log.WriteEntry
. Para obter mais informações, consulte WriteEntry.
Registrar em log uma exceção manipulada
Crie o método que gerará as informações de 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
.Remova a marca de comentário das linhas
Dim
eMsgBox
para lançar 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étodoMy.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 em log 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
Registrar em log uma exceção sem tratamento
Selecione um projeto no Gerenciador de Soluções. No menu Projeto, escolha Propriedades.
Clique na guia Aplicativo.
Clique no botão Exibir Eventos de Aplicativo para abrir o Editor de Códigos.
Isso abrirá o arquivo ApplicationEvents.vb.
Abra o arquivo ApplicationEvents.vb no Editor de Códigos. No menu Geral, escolha Eventos MyApplication.
No menu Declarações, escolha UnhandledException.
A aplicativo gera o evento UnhandledException antes da execução do aplicativo principal.
Adicione o método
My.Application.Log.WriteException
ao manipulador de eventosUnhandledException
.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 em log uma exceção sem tratamento.
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