Partager via


Traitement des exceptions

Lorsqu'un programme exécute, un nombre d'anomalies et d'erreurs appelées « exceptions » peuvent se produire.Ils peuvent renfermer des erreurs en cours de exécution mémoire insuffisante, d'allocation des ressources, et l'échec de rechercher des fichiers.

La bibliothèque MFC utilise un modèle de gestion des exceptions qui est modélisée étroitement après celle proposée par le comité de normes ANSI pour C++.Un gestionnaire d'exceptions doit être installé avant d'appeler une fonction qui peut se trouver dans une situation anormale.Si la fonction rencontre une différence, il lève une exception et le contrôle est passé au gestionnaire d'exceptions.

Plusieurs macros incluses avec la bibliothèque MFC installent les gestionnaires d'exceptions.Plusieurs autres fonctions globales aident à lever des exceptions spécialisées et à arrêter des programmes, si nécessaire.Ces macros et fonctions globales sont répartis dans les catégories suivantes :

  • macros d'exception, qui structure votre gestionnaire d'exceptions.

  • Exception-lever des fonctions, qui génèrent des exceptions de types spécifiques.

  • fonctions d'arrêt, qui entraînent l'arrêt du programme.

Pour obtenir des exemples et plus d'informations, consultez l'article exceptions.

Macros d'exception

TRY

Indique un bloc de code pour le traitement des exceptions.

CATCH

Indique un bloc de code pour intercepter une exception au bloc try précédent.

CATCH_ALL

Indique un bloc de code pour intercepter les exceptions au bloc try précédent.

AND_CATCH

Indique un bloc de code pour intercepter les types d'exceptions supplémentaires du bloc try précédent.

AND_CATCH_ALL

Indique un bloc de code pour intercepter tous les autres types d'exceptions supplémentaires levé dans un bloc try précédent.

END_CATCH

Termine dernier CATCH ou bloc de code d' AND_CATCH .

END_CATCH_ALL

Arrête le dernier bloc de code d' CATCH_ALL .

JET

Lève une exception spécifiée.

THROW_LAST

Lève l'exception actuellement gérée au gestionnaire externe suivant.

Exception-Lever des fonctions

AfxThrowArchiveException

Lève une exception d'archivage.

AfxThrowFileException

Lève une exception de fichier.

AfxThrowMemoryException

Lève une exception de mémoire.

AfxThrowNotSupportedException

Lève une exception non prise en charge.

AfxThrowResourceException

Lève une exception ressource-non-recherchée par windows.

AfxThrowUserException

Lève une exception dans une action initiée de programme.

MFC fournit deux fonctions exception-se levantes spécifiquement pour de OLE exceptions :

OLE fonctions d'exception

AfxThrowOleDispatchException

Lève une exception dans une notion de fonction d'automation.

AfxThrowOleException

Lève une NOTION exception.

Pour prendre en charge des exceptions de base de données, les classes de base de données fournissent deux classes d'exception, CDBException et CDaoException, et fonctions globales pour prendre en charge les types d'exception :

Fonctions d'exception DAO

AfxThrowDAOException

Lève CDaoException de votre propre code.

AfxThrowDBException

Lève CDBException de votre propre code.

MFC fournit la fonction suivante d'arrêt :

Fonctions d'arrêt

AfxAbort

Appelé pour arrêter une application lorsqu'une erreur irrécupérable se produit.

Voir aussi

Référence

CException, classe

Concepts

Macro MFC et Globals