Cómo: Registrar excepciones en Visual Basic
Puede usar los objetos My.Application.Log
y My.Log
para registrar información sobre excepciones que se producen en la aplicación. Estos ejemplos muestran cómo usar el método My.Application.Log.WriteException
para registrar excepciones que detecta explícitamente y excepciones que no se controlan.
Para registrar información de seguimiento, use el método My.Application.Log.WriteEntry
. Para obtener más información, vea WriteEntry.
Para registrar una excepción controlada
Cree el método que generará la información de excepción.
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Use un bloque
Try...Catch
para detectar la excepción.Try Catch ex As Exception End Try
Coloque el código que podría generar una excepción en el bloque
Try
.Quite la marca de comentario de las líneas
Dim
yMsgBox
para generar una excepción NullReferenceException.' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString)
En el bloque
Catch
, use el métodoMy.Application.Log.WriteException
para escribir la información de excepción.My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".")
En el ejemplo siguiente se muestra el código completo para registrar una excepción controlada.
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 una excepción no controlada
Seleccione un proyecto en el Explorador de soluciones. En el menú Proyecto , elija Propiedades.
Haga clic en la pestaña Aplicación .
Haga clic en el botón Ver eventos de aplicaciones para abrir el Editor de código.
Se abre el archivo ApplicationEvents.vb.
Tenga el archivo ApplicationEvents.vb abierto en el Editor de código. En el menú General , elija Eventos MyApplication.
En el menú Declaraciones, pulse UnhandledException.
La aplicación genera el evento UnhandledException antes de que se ejecute la aplicación principal.
Agregue el método
My.Application.Log.WriteException
al controlador de eventosUnhandledException
.My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString)
En el siguiente ejemplo se muestra el código completo para registrar una excepción no controlada.
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