Condividi tramite


Procedura: registrare eccezioni in Visual Basic

È possibile usare gli oggetti My.Application.Log e My.Log per registrare informazioni sulle eccezioni generate nell'applicazione. Questi esempi illustrano come usare il metodo My.Application.Log.WriteException per registrare le eccezioni rilevate in modo esplicito e quelle non gestite.

Per registrare le informazioni di traccia, usare il metodo My.Application.Log.WriteEntry. Per altre informazioni, vedere WriteEntry.

Per registrare un'eccezione gestita

  1. Creare il metodo che genererà le informazioni sull'eccezione.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Usare un blocco Try...Catch per rilevare l'eccezione.

    Try
    Catch ex As Exception
    End Try
    
  3. Inserire il codice che potrebbe generare un'eccezione nel blocco Try.

    Rimuovere il commento dalle righe Dim e MsgBox per causare un'eccezione NullReferenceException.

    ' 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.

    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.

    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 gestita

  1. Selezionare un progetto in Esplora soluzioni. Scegliere Proprietà dal menu Progetto.

  2. Fare clic sulla scheda Applicazione .

  3. Fare clic sul pulsante Visualizza eventi applicazione per aprire l'editor di codice.

    Verrà aperto il file ApplicationEvents.vb.

  4. Aprire il file ApplicationEvents.vb nell'editor di codice. Scegliere Eventi MyApplication dal menu Generale.

  5. Scegliere UnhandledException dal menu Dichiarazioni.

    L'applicazione genera l'evento UnhandledException prima dell'esecuzione dell'applicazione principale.

  6. Aggiungere il metodo My.Application.Log.WriteException al gestore eventi UnhandledException .

    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.

    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
    

Vedi anche