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

  1. Cree el método que generará la información de excepción.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Use un bloque Try...Catch para detectar la excepción.

    Try
    Catch ex As Exception
    End Try
    
  3. 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 y MsgBox para generar una excepción NullReferenceException.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. En el bloque Catch, use el método My.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

  1. Seleccione un proyecto en el Explorador de soluciones. En el menú Proyecto , elija Propiedades.

  2. Haga clic en la pestaña Aplicación .

  3. Haga clic en el botón Ver eventos de aplicaciones para abrir el Editor de código.

    Se abre el archivo ApplicationEvents.vb.

  4. Tenga el archivo ApplicationEvents.vb abierto en el Editor de código. En el menú General , elija Eventos MyApplication.

  5. En el menú Declaraciones, pulse UnhandledException.

    La aplicación genera el evento UnhandledException antes de que se ejecute la aplicación principal.

  6. Agregue el método My.Application.Log.WriteException al controlador de eventos UnhandledException .

    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
    

Vea también