Procedura: registrare eccezioni in Visual Basic
Aggiornamento: novembre 2007
È 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 analisi, utilizzare il metodo My.Application.Log.WriteEntry. Per ulteriori informazioni, vedere Metodo WriteEntry (My.Application.Log e My.Log).
Per registrare un'eccezione gestita
Creare il metodo che genererà le informazioni sull'eccezione.
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Utilizzare un blocco Try...Catch per rilevare l'eccezione.
Try Catch ex As Exception End Try
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)
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 & ".")
Per registrare un'eccezione non gestita
Selezionare un progetto in Esplora soluzioni. Scegliere Proprietà dal menu Progetto.
Fare clic sulla scheda Applicazione.
Fare clic sul pulsante Visualizza eventi di applicazioni per aprire l'editor del codice.
Verrà aperto il file ApplicationEvents.vb.
Aprire il file ApplicationEvents.vb nell'editor del codice. Scegliere Eventi MyApplication dal menu Generale.
Scegliere UnhandledException dal menu Dichiarazioni.
L'evento UnhandledException viene generato dall'applicazione prima che sia eseguita l'applicazione principale.
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)
Esempio
Nell'esempio riportato di seguito 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
Nell'esempio riportato successivamente viene illustrato il codice completo per registrare un'eccezione non gestita. Per accedere agli eventi dell'applicazione nell'editor del codice è possibile utilizzare Progettazione progetti. Per ulteriori informazioni, vedere Procedura: gestire gli eventi di applicazioni (Visual Basic).
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
Concetti
Utilizzo dei log applicazione in Visual Basic