Condividi tramite


Procedura: registrare eccezioni in Visual Basic

È possibile utilizzare gli oggetti My.Application.Log e My.Log per registrare informazioni sulle eccezioni che si verificano nell'applicazione. Negli esempi riportati di seguito è illustrato l'utilizzo del metodo My.Application.Log.WriteException per registrare le eccezioni rilevate in modo esplicito e quelle non gestite.

Per registrare le informazioni di tracciatura, utilizzare il metodo My.Application.Log.WriteEntry. Per ulteriori 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. Utilizzare 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 indurre un'eccezione NullReferenceException.

    ' Code that might generate an exception goes here. 
    ' For example: 
    '    Dim x As Object 
    '    MsgBox(x.ToString)
    
  4. Nel blocco Catch, utilizzare 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 & ".")
    

    In l ' esempio seguente viene illustrato 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 di applicazioni per aprire l'editor di codice.

    Verrà aperto il file ApplicationEvents.vb.

  4. Aprire il file ApplicationEvents.vb nell'editor del 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)
    

    In l ' esempio seguente viene illustrato 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
    

Vedere anche

Attività

Procedura: scrivere messaggi di log (Visual Basic)

Procedura dettagliata: individuazione della posizione di inserimento delle informazioni con My.Application.Log (Visual Basic)

Procedura dettagliata: modifica della posizione di inserimento delle informazioni con My.Application.Log (Visual Basic)

Riferimenti

Log

WriteEntry

WriteException

Concetti

Utilizzo dei log applicazione in Visual Basic