Freigeben über


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

  1. Wählen Sie im Projektmappen-Explorer ein Projekt aus, und klicken Sie im Menü Projekt auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Anwendung.

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

Gewusst wie: Protokollieren von Ausnahmen in Visual Basic

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

SecurityPermission

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

My.Application-Objekt

Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs