Définition des exceptions structurées (C++)
Remonter à Exceptions structurées sous Win32 (C++)
Le déclenchement d'une exception Win32 gérée au sein d'un même programme n'a généralement pas grand intérêt : les exceptions C++ ont plus d'efficacité, sont plus portables et utilisent une syntaxe plus simple. Les exceptions Win32 ont toutefois un avantage : elles peuvent être gérées par des composants n'ayant pas été compilés par le même compilateur C++.
La première étape consiste à définir l'exception. Une exception est un entier 32 bits qui a le format suivant (en commençant au bit 0) :
Bits | Signification |
31-30 | 11 = erreur (normal) 00 = succès 01 = informationnel 10 = avertissement |
29 | 1 = défini par l'utilisateur |
28 | Réservé |
27-0 | Défini par l'utilisateur |
En plus de la définition de code d'exception, vous devez décider si des informations supplémentaires doivent être incluses avec l'exception (accessibles au filtre / gestionnaire depuis l'enregistrement d'exception). Il n'existe aucune méthode conventionnelle pour encoder des paramètres supplémentaires dans le code d'exception.