Partager via


Syntaxe du gestionnaire

Cette section décrit la syntaxe et l’utilisation de la gestion des exceptions structurées implémentées dans le compilateur d’optimisation Microsoft C/C++. Les mots clés suivants sont interprétés par le compilateur dans le cadre du mécanisme structuré de gestion des exceptions.

Mot-clé Description
__try Commence un corps de code protégé. Utilisé avec le mot clé __except pour construire un gestionnaire d’exceptions , ou avec le mot clé __finally pour construire un gestionnaire de terminaison .
__except Commence un bloc de code exécuté uniquement lorsqu’une exception se produit dans son bloc de __try associé.
__finally Commence un bloc de code exécuté chaque fois que le flux de contrôle quitte son bloc __try associé.
__leave Autorise l’arrêt immédiat du bloc __try sans provoquer d’arrêt anormal et sa pénalité de performance.

 

Le compilateur interprète également les fonctions GetExceptionCode, GetExceptionInformation, et fonctions AnormTermination en tant que mots clés, et leur utilisation en dehors de la syntaxe appropriée de gestion des exceptions génère une erreur du compilateur. Voici quelques descriptions de ces fonctions.

Fonction Description
GetExceptionCode Retourne un code qui identifie le type d’exception. Cette fonction peut être appelée uniquement à partir de l’expression de filtre ou du bloc de gestionnaire d’exceptions.
GetExceptionInformation Retourne un pointeur vers une structure EXCEPTION_POINTERS contenant des pointeurs vers l’enregistrement de contexte et l’enregistrement d’exception. Cette fonction peut être appelée uniquement à partir de l’expression de filtre d’un gestionnaire d’exceptions.
anormaux Indique si le flux de contrôle a laissé le bloc __try associé de façon séquentielle après avoir exécuté la dernière instruction dans le bloc. Cette fonction ne peut être appelée qu’à partir du bloc __finally d’un gestionnaire d’arrêt.