Como: Registrar exceções no Visual Basic
Você pode usar os My.Application.Log
objetos e My.Log
para registrar informações sobre exceções que ocorrem em seu aplicativo. Estes exemplos mostram como usar o My.Application.Log.WriteException
método para registrar exceções que você captura explicitamente e exceções que não são tratadas.
Para registrar informações de rastreamento, use o My.Application.Log.WriteEntry
método. Para mais informações, consulte WriteEntry
Para registrar 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
Try...Catch
bloco para capturar a exceção.Try Catch ex As Exception End Try
Coloque o código que pode gerar uma exceção no
Try
bloco .Descomente as
Dim
linhas eMsgBox
para causar uma NullReferenceException exceção.' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString)
Catch
No bloco , use oMy.Application.Log.WriteException
método 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 sem tratamento
Tenha um projeto selecionado no Gerenciador de Soluções. No menu Projeto, escolha Propriedades.
Clique na guia Aplicativo .
Clique no botão Exibir eventos do aplicativo para abrir o Editor de códigos .
Isso abre o arquivo ApplicationEvents.vb.
Tenha o arquivo ApplicationEvents.vb aberto no Editor de Códigos. No menu Geral, escolha MyApplication Events.
No menu Declarações, escolha UnhandledException.
O aplicativo gera o UnhandledException evento antes que o aplicativo principal seja executado.
Adicione o
My.Application.Log.WriteException
método ao manipulador deUnhandledException
eventos.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 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