Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Abschnitt werden die Syntax und die Verwendung der strukturierten Ausnahmebehandlung beschrieben, wie sie im Microsoft C/C++-Optimierungscompiler implementiert ist. Die folgenden Schlüsselwörter werden vom Compiler als Teil des strukturierten Ausnahmebehandlungsmechanismus interpretiert.
| Schlüsselwort | Beschreibung |
|---|---|
| __try | Beginnt einen geschützten Codetext. Wird mit dem schlüsselwort __except zum Erstellen eines Ausnahmehandlersoder mit dem __finally Schlüsselwort verwendet, um einen Beendigungshandlerzu erstellen. |
| __except | Beginnt einen Codeblock, der nur ausgeführt wird, wenn eine Ausnahme innerhalb des zugeordneten __try Blocks auftritt. |
| __finally | Beginnt einen Codeblock, der ausgeführt wird, wenn der Steuerungsfluss den zugeordneten __try Block verlässt. |
| __leave | Ermöglicht die sofortige Beendigung des __try Blocks, ohne eine ungewöhnliche Beendigung und seine Leistungseinbußen zu verursachen. |
Der Compiler interpretiert auch die GetExceptionCode, GetExceptionInformationund AbnormalTermination Funktionen als Schlüsselwörter, und ihre Verwendung außerhalb der entsprechenden Ausnahmebehandlungssyntax generiert einen Compilerfehler. Im Folgenden sind kurze Beschreibungen dieser Funktionen aufgeführt.
| 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 Steuerungsfluss den zugeordneten __try Block sequenziell nach ausführung der letzten Anweisung im Block verlassen hat. Diese Funktion kann nur innerhalb des __finally Blocks eines Beendigungshandlers aufgerufen werden. |