Syntaxe du gestionnaire

Cette section décrit la syntaxe et l’utilisation de la gestion structurée des exceptions, telle qu’implémentée 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
__Essayer Commence un corps de code protégé. Utilisé avec le __except mot clé pour construire un gestionnaire d’exceptions, ou avec le __finally mot clé pour construire un gestionnaire d’arrêt.
__Sauf Commence un bloc de code qui est exécuté uniquement lorsqu’une exception se produit dans son bloc de __try associé.
__Enfin Commence un bloc de code qui est exécuté chaque fois que le flux de contrôle quitte son __try bloc associé.
__leave Permet l’arrêt immédiat du bloc __try sans provoquer d’arrêt anormal et de pénalité de performances.

 

Le compilateur interprète également les fonctions GetExceptionCode, GetExceptionInformation et AbnormalTermination en tant que mots clés, et leur utilisation en dehors de la syntaxe de gestion des exceptions appropriée génère une erreur du compilateur. Vous trouverez ci-dessous de brèves 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 de 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.
AbnormalTermination Indique si le flux de contrôle a quitté le bloc de __try associé séquentiellement après l’exécution de la dernière instruction du bloc. Cette fonction peut être appelée uniquement à partir du bloc __finally d’un gestionnaire d’arrêt.