Syntaxe du gestionnaire
Cette section décrit la syntaxe et l’utilisation de la gestion structurée des exceptions telle qu’elle est 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 de gestion structurée des exceptions.
| Mot clé | Description |
|---|---|
| __Essayez | 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 terminaisons. |
| __mais | Commence un bloc de code qui est exécuté uniquement lorsqu’une exception se produit dans son bloc _ _ try associé. |
| __suivie | Commence un bloc de code qui est exécuté chaque fois que le workflow de contrôle quitte son bloc _ _ try associé. |
| __congé | Autorise l’arrêt immédiat du bloc _ _ try sans entraîner un arrêt anormal et une baisse des performances. |
Le compilateur interprète également les fonctions GetExceptionCode, GetExceptionInformationet AbnormalTermination comme des 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 une brève description de ces fonctions.
| Fonction | Description |
|---|---|
| GetExceptionCode | Retourne un code qui identifie le type d’exception. Cette fonction ne peut être appelée qu’à partir de l’expression de filtre ou du bloc de gestionnaire d’exceptions. |
| GetExceptionInformation | Retourne un pointeur vers une structure de _ pointeurs d’exception contenant des pointeurs vers l’enregistrement de contexte et l’enregistrement d’exception. Cette fonction ne peut être appelée qu’à partir de l’expression de filtre d’un gestionnaire d’exceptions. |
| AbnormalTermination | Indique si le workflow de contrôle a quitté le bloc _ _ try associé de manière séquentielle après l’exécution de la dernière instruction dans le bloc. Cette fonction ne peut être appelée qu’à partir du bloc _ _ finally d’un gestionnaire de terminaisons. |