Freigeben über


Handlersyntax

In diesem Abschnitt werden die Syntax und die Verwendung der strukturierten Ausnahmebehandlung beschrieben, wie sie im Microsoft C/C++-Optimierungscompiler implementiert sind. Die folgenden Schlüsselwörter werden vom Compiler als Teil des strukturierten Ausnahmebehandlungsmechanismus interpretiert.

Schlüsselwort BESCHREIBUNG
__Versuchen Beginnt einen geschützten Codetext. Wird mit dem __except Schlüsselwort (keyword) zum Erstellen eines Ausnahmehandlers oder mit dem __finally Schlüsselwort (keyword) zum Erstellen eines Beendigungshandlers verwendet.
__Außer Startet einen Codeblock, der nur ausgeführt wird, wenn innerhalb des zugeordneten __try blocks eine Ausnahme auftritt.
__Schließlich Startet einen Codeblock, der immer dann ausgeführt wird, wenn der Ablauf der Steuerung den zugeordneten __try Block verlässt.
__leave Ermöglicht die sofortige Beendigung des __try-Blocks , ohne dass eine abnormale Beendigung und eine Leistungsstrafe verursacht wird.

 

Der Compiler interpretiert auch die Funktionen GetExceptionCode, GetExceptionInformation und AbnormalTermination als Schlüsselwörter, und ihre Verwendung außerhalb der entsprechenden Ausnahmebehandlungssyntax generiert einen Compilerfehler. Im Folgenden werden diese Funktionen kurz beschrieben.

Funktion BESCHREIBUNG
GetExceptionCode Gibt einen Code zurück, der den Ausnahmetyp identifiziert. Diese Funktion kann nur innerhalb des Filterausdrucks oder des Ausnahmehandlerblocks aufgerufen werden.
GetExceptionInformation Gibt einen Zeiger auf eine EXCEPTION_POINTERS-Struktur zurück, die Zeiger auf den Kontextdatensatz und den Ausnahmedatensatz enthält. Diese Funktion kann nur innerhalb des Filterausdrucks eines Ausnahmehandlers aufgerufen werden.
AbnormalTermination Gibt an, ob der Ablauf der Steuerung den zugeordneten __try Block sequenziell verlassen hat, nachdem die letzte Anweisung im Block ausgeführt wurde. Diese Funktion kann nur aus dem __finally Block eines Terminierungshandlers aufgerufen werden.