AbnormalTermination macro)

Indique si le bloc _ _ try d’un gestionnaire de terminaisons se termine normalement. La fonction ne peut être appelée qu’à partir du bloc _ _ finally d’un gestionnaire de terminaisons.

Notes

Le compilateur d’optimisation Microsoft C/C++ interprète cette fonction comme un mot clé, et son utilisation en dehors de la syntaxe de gestion des exceptions appropriée génère une erreur du compilateur.

Syntaxe

BOOL AbnormalTermination(void);

Paramètres

Cette macro n’a pas de paramètres.

Valeur de retour

Si le bloc _ _ try s’est arrêté anormalement, la valeur de retour est différente de zéro.

Si le bloc _ _ try s’est arrêté normalement, la valeur de retour est zéro.

Notes

Le bloc _ _ try se termine normalement uniquement si l’exécution laisse le bloc séquentiellement après l’exécution de la dernière instruction dans le bloc. Les instructions (telles que Return, goto, continue ou break) qui forcent l’exécution à quitter le bloc _ _ try entraînent un arrêt anormal du bloc. C’est le cas même si une telle instruction est la dernière instruction du bloc _ _ try .

Un arrêt anormal d’un bloc _ _ try amène le système à parcourir tous les frames de pile pour déterminer si des gestionnaires de terminaison doivent être appelés. Cela peut entraîner l’exécution de centaines d’instructions. il est donc important d’éviter l’arrêt anormal d’un bloc _ _ try en raison d’une instruction Return, goto, continue ou break . Notez que ces instructions ne génèrent pas d’exception, même si l’arrêt est anormal.

Pour éviter un arrêt anormal, l’exécution doit se poursuivre jusqu’à la fin du bloc. Vous pouvez également exécuter l’instruction _ _ Leave . L’instruction _ _ Leave autorise l’arrêt immédiat du bloc _ _ try sans entraîner un arrêt anormal et une baisse des performances. Consultez la documentation de votre compilateur pour déterminer si l’instruction _ _ Leave est prise en charge.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows [Applications de bureau XP uniquement]
Serveur minimal pris en charge
Windows Serveur 2003 [ applications de bureau uniquement]

Voir aussi

Fonctions de gestion structurée des exceptions

Vue d’ensemble de la gestion structurée des exceptions