Procedura: Registrare eccezioni in Visual BasicHow to: Log Exceptions in Visual Basic

È possibile usare gli oggetti My.Application.Log e My.Log per registrare informazioni sulle eccezioni generate nell'applicazione.You can use the My.Application.Log and My.Log objects to log information about exceptions that occur in your application. Questi esempi illustrano come usare il metodo My.Application.Log.WriteException per registrare le eccezioni rilevate in modo esplicito e quelle non gestite.These examples show how to use the My.Application.Log.WriteException method to log exceptions that you catch explicitly and exceptions that are unhandled.

Per registrare le informazioni di traccia, usare il metodo My.Application.Log.WriteEntry.For logging tracing information, use the My.Application.Log.WriteEntry method. Per altre informazioni, vedere WriteEntry.For more information, see WriteEntry

Per registrare un'eccezione gestitaTo log a handled exception

  1. Creare il metodo che genererà le informazioni sull'eccezione.Create the method that will generate the exception information.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Usare un blocco Try...Catch per rilevare l'eccezione.Use a Try...Catch block to catch the exception.

    Try
    Catch ex As Exception
    End Try
    
  3. Inserire il codice che potrebbe generare un'eccezione nel blocco Try.Put the code that could generate an exception in the Try block.

    Rimuovere il commento dalle righe Dim e MsgBox per causare un'eccezione NullReferenceException.Uncomment the Dim and MsgBox lines to cause a NullReferenceException exception.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Nel blocco Catch usare il metodo My.Application.Log.WriteException per scrivere le informazioni sull'eccezione.In the Catch block, use the My.Application.Log.WriteException method to write the exception information.

    My.Application.Log.WriteException(ex, 
        TraceEventType.Error, 
        "Exception in ExceptionLogTest " & 
        "with argument " & fileName & ".")
    

    L'esempio seguente illustra il codice completo per registrare un'eccezione gestita.The following example shows the complete code for logging a handled exception.

    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
    

Per registrare un'eccezione non gestitaTo log an unhandled exception

  1. Selezionare un progetto in Esplora soluzioni.Have a project selected in Solution Explorer. Scegliere Proprietà dal menu Progetto.On the Project menu, choose Properties.

  2. Fare clic sulla scheda Applicazione .Click the Application tab.

  3. Fare clic sul pulsante Visualizza eventi applicazione per aprire l'editor di codice.Click the View Application Events button to open the Code Editor.

    Verrà aperto il file ApplicationEvents.vb.This opens the ApplicationEvents.vb file.

  4. Aprire il file ApplicationEvents.vb nell'editor di codice.Have the ApplicationEvents.vb file open in the Code Editor. Scegliere Eventi MyApplication dal menu Generale.On the General menu, choose MyApplication Events.

  5. Scegliere UnhandledException dal menu Dichiarazioni.On the Declarations menu, choose UnhandledException.

    L'applicazione genera l'evento UnhandledException prima dell'esecuzione dell'applicazione principale.The application raises the UnhandledException event before the main application runs.

  6. Aggiungere il metodo My.Application.Log.WriteException al gestore eventi UnhandledException .Add the My.Application.Log.WriteException method to the UnhandledException event handler.

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
    

    L'esempio seguente illustra il codice completo per registrare un'eccezione non gestita.The following example shows the complete code for logging an unhandled exception.

    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
    

Vedere ancheSee also