Cómo: Registrar excepciones en Visual Basic

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Puede utilizar 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 utilizar 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 traza, utilice 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. Utilice 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 los comentarios de las líneas Dim y MsgBox para provocar 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, utilice 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 & ".")
    

    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. Tenga seleccionado un proyecto en el Explorador de soluciones. En el menú Proyecto, elija Propiedades.

  2. Haga clic en la ficha Aplicación.

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

    Así abre el archivo ApplicationEvents.vb.

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

  5. En el menú Declaraciones, elija 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)
    

    El ejemplo siguiente 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
    

Microsoft.VisualBasic.Logging.Log
WriteEntry
WriteException
Trabajar con registros de aplicaciones
Cómo: Escribir mensajes de registro
Tutorial: Determinar el lugar en el que My.Application.Log escribe la información
Tutorial: Cambiar el lugar donde My.Application.Log escribe información

Mostrar: