Le traitement des exceptions
Lorsqu'un programme s'exécute, de nombreuses conditions et erreurs anormales appelées « exceptions » peuvent se produire. Celles-ci peuvent inclure une mémoire insuffisante, des erreurs d'allocation de ressources, et des échecs de recherches de fichiers.
La bibliothèque MFC utilise un modèle de gestion des exceptions qui est modelisé étroitement à partir de celui proposé par le comité de normes ANSI pour C++. Un gestionnaire d'exceptions doit être installé avant d'appeler une fonction qui peut connaître une situation anormale. Si la fonction rencontre une anomalie, elle lève une exception et le contrôle est passé au gestionnaire des exceptions.
Plusieurs macros incluses dans la bibliothèque MFC installeront les gestionnaires d'exceptions. Plusieurs autres fonctions globales aident à lever des exceptions spécialisées et arrêter les programmes, si nécessaire. Ces macros et fonctions globales sont classées dans les catégorier suivantes:
Macros d'exception, qui structurent votre gestionnaire des exceptions.
Fonctions de levées d'exceptions, qui génèrent des exceptions de types spécifiques.
Fonctions d'arrêt, qui provoquent l'arrêt du programme.
Pour des exemples et plus d'informations, consultez l'article Exceptions.
Macros d'Exceptions
Indique un bloc de code pour le traitement d'exceptions. |
|
Indique un bloc de code pour intercepter une exception du bloc précédent de TRY. |
|
Indique un bloc de code pour intercepter toutes les exceptions du bloc précédent de TRY. |
|
Indique un bloc de code pour intercepter des exceptions supplémentaires du bloc précédent de TRY. |
|
Définit un bloc de code pour intercepter tous les autres types d'exception supplémentaires levés dans un bloc précédent de TRY. |
|
Termine le dernier CATCH ou bloc de code d' AND_CATCH. |
|
Arrête le dernier bloc de code d' CATCH_ALL. |
|
Lève une exception spécifiée. |
|
Lève l'exception actuellement gérée au gestionnaire externe suivant. |
Fonctions de levées d'exceptions
Lève une exception d'archive. |
|
Lève une exception de fichier. |
|
Lève une exception de mémoire. |
|
Lève une exception non prise en charge. |
|
Lève une exception: ressource Windows non détectée. |
|
Lève une exception dans une action de programme initiée par un utilisateur. |
MFC fournit deux fonctions de levées d'exceptions spécifiques aux exceptions OLE:
Fonctions d'exception OLE
Lève une exception dans une fonction automation OLE. |
|
Lève une exception OLE. |
Pour prendre en charge les exceptions de base de données, les classes de base de données fournissent deux classes d'exception, CDBException et CDaoException et des fonctions globales pour prendre en charge les types d'exception:
Fonctions d'exception DAO
Lève une CDaoException de votre propre code. |
|
Lève une CDBException de votre propre code. |
MFC fournit la fonction suivante d'arrêt :
Fonctions d'Arrêt
Appelée pour mettre fin à une application lorsqu'une erreur irrécupérable se produit. |