My.Application.UnhandledException-Ereignis
Aktualisiert: Juli 2008
Tritt ein, wenn in der Anwendung eine unbehandelte Ausnahme auftritt.
' Usage
Public Sub Me_UnhandledException( _
ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
End Sub
' Declaration
Public Event UnhandledException( _
ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs _
)
Parameter
sender
Das Object, das das Ereignis ausgelöst hat.e
Ein UnhandledExceptionEventArgs-Objekt, das die unbehandelte Ausnahme und weitere Informationen enthält.
Hinweise
Eine Anwendung löst das UnhandledException-Ereignis aus, wenn in der Anwendung eine unbehandelte Ausnahme auftritt. Dieses Ereignis ist Teil des Visual Basic-Anwendungsmodells. Weitere Informationen finden Sie unter Übersicht über das Visual Basic-Anwendungsmodell.
Mit der Exception-Eigenschaft des e-Parameters können Sie auf die unbehandelte Ausnahme zugreifen, die dieses Ereignis verursacht hat.
Mit der ExitApplication-Eigenschaft des e-Parameters können Sie steuern, ob die Anwendung beendet wird. Standardmäßig ist ExitApplicationTrue, sodass die Anwendung beendet wird, nachdem der UnhandledException-Ereignishandler ausgeführt wurde. Sie können den Wert im UnhandledException-Ereignishandler auf False festlegen, damit die Anwendung weiter ausgeführt wird und in den Wartezustand wechselt.
Der Code für den UnhandledException-Ereignishandler wird in der Datei ApplicationEvents.vb gespeichert, die standardmäßig ausgeblendet ist.
So erhalten Sie Zugriff auf das Code-Editor-Fenster für Anwendungsereignisse
Wählen Sie im Projektmappen-Explorer ein Projekt aus, und klicken Sie im Menü Projekt auf Eigenschaften.
Klicken Sie auf die Registerkarte Anwendung.
Klicken Sie auf die Schaltfläche Anwendungsereignisse anzeigen, um den Code-Editor zu öffnen.
Weitere Informationen finden Sie unter Gewusst wie: Behandeln von Anwendungsereignissen (Visual Basic).
Hinweis: |
---|
Der Visual Basic-Compiler verhindert, dass zum Debuggen erstellte Anwendungen dieses Ereignis auslösen, um das Behandeln der unbehandelten Ausnahmen durch einen Debugger zuzulassen. Daher wird der UnhandledException-Ereignishandler nicht aufgerufen, wenn Sie eine Anwendung testen, indem Sie sie im Debugger der integrierten Entwicklungsumgebung von Visual Studio ausführen. Weitere Informationen über das Erstellen von Anwendungen zum Debuggen finden Sie unter /debug (Visual Basic). |
Aufgaben
In der folgenden Tabelle werden Beispiele für Aufgaben mit dem My.Application.UnhandledException-Ereignis aufgeführt.
Aktion |
Thema |
---|---|
Verwenden der vom Visual Basic-Anwendungsmodell bereitgestellten Ereignisse zum Ausführen von Code |
Gewusst wie: Ausführen von Code beim Starten oder Beenden einer Anwendung |
Protokollieren von unbehandelten Ausnahmen |
Beispiel
In diesem Beispiel wird das My.Application.UnhandledException-Ereignis verwendet, um unbehandelte Ausnahmen zu protokollieren.
Private Sub MyApplication_UnhandledException( _
ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
My.Application.Log.WriteException(e.Exception, _
TraceEventType.Critical, _
"Unhandled Exception.")
End Sub
Sie müssen den Code im Code-Editor-Fenster für Anwendungsereignisse eingeben. Um dieses Fenster zu öffnen, gehen Sie wie im Abschnitt Hinweise dieses Themas beschrieben vor. Weitere Informationen finden Sie unter Gewusst wie: Behandeln von Anwendungsereignissen (Visual Basic).
Da das UnhandledException-Ereignis nicht ausgelöst wird, wenn ein Debugger an die Anwendung angefügt ist, müssen Sie dieses Beispiel außerhalb der integrierten Entwicklungsumgebung von Visual Studio ausführen.
Anforderungen
Namespace:Microsoft.VisualBasic.ApplicationServices
Klasse:WindowsFormsApplicationBase
Assembly: Visual Basic-Laufzeitbibliothek (in Microsoft.VisualBasic.dll)
Verfügbarkeit nach Projekttyp
Projekttyp |
Verfügbar |
---|---|
Windows-Anwendung |
Ja |
Klassenbibliothek |
Nein |
Konsolenanwendung |
Nein |
Windows-Steuerelementbibliothek |
Nein |
Web-Steuerelementbibliothek |
Nein |
Windows-Dienst |
Nein |
Website |
Nein |
Berechtigungen
Die folgenden Berechtigungen sind möglicherweise erforderlich:
Berechtigung |
Beschreibung |
---|---|
Steuert die Fähigkeit, einen Ereignishandler für dieses Ereignis hinzuzufügen. Zugeordnete Enumeration: SecurityPermissionFlag.ControlAppDomain. |
Weitere Informationen finden Sie unter Codezugriffssicherheit und unter Anfordern von Berechtigungen.
Siehe auch
Konzepte
Übersicht über das Visual Basic-Anwendungsmodell
Referenz
Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs