Partager via


Gestion des exceptions dans Visual C++

Une exception est une condition d'erreur, probablement en dehors de le contrôle de programme, qui empêché le programme à continuer le long de son chemin d'exécution normal.Certaines opérations, y compris la création d'objet, en entrée/sortie du fichier, et appels de fonction faits d'autres modules, sont toutes les sources potentielles d'exceptions même lorsque votre programme s'exécute correctement.Le code fiable anticipe et gère les exceptions.

Pour détecter les erreurs de logique dans un programme ou un seul module, assertions de utilisez plutôt que des exceptions (voir l' Utilisation d'assertions).

Visual C++ prend en charge trois types de gestion des exceptions :

  • Gestion des exceptions C++

    Pour la plupart des programmes C++, vous devez utiliser la gestion des exceptions C++, qui est de type sécurisé et garantit que les destructeurs d'objet sont appelés pendant le déroulement de pile.

  • gestion structurée des exceptions

    Les fenêtres fournit son propre mécanisme d'exception, appelé fois SEH.Il n'est pas recommandé pour la programmation C++ ou MFC.Utilisez la fois SEH uniquement dans les programmes C Non-MFC.

  • Exceptions MFC

    Depuis la version 3,0, MFC utilise des exceptions C++ mais prend toujours en charge les macros plus anciennes de gestion des exceptions, qui sont semblables aux exceptions C++ dans le formulaire.bien que ces macros ne soient pas recommandées pour la nouvelle programmation, elles sont encore prises en charge pour la compatibilité descendante.Dans les programmes qui utilisent déjà les macros, vous pouvez librement utiliser des exceptions C++ également.Pendant le prétraitement, les macros correspondent à des mots clés de gestion des exceptions définis dans l'implémentation de Visual C++ du langage C++ à partir de la version 2,0 de Visual C++.Vous pouvez laisser les macros existantes d'exception en place lorsque vous commencez à utiliser des exceptions C++.

utilisez l'option du compilateur de /EH de spécifier le type de gestion des exceptions pour utiliser dans un projet ; La gestion des exceptions C++ est la valeur par défaut.Ne combinez pas les mécanismes de gestion des erreurs ; par exemple, n'utilisez pas les exceptions C++ avec fois SEH.Pour le conseil sur les exceptions de macros MFC et C++ de mélange, consultez l' exceptions : À l'aide de la macro MFC et les exceptions C++.

Pour plus d'informations sur la gestion des exceptions dans les applications CLR, consultez l' gestion des exceptions sous /clr.

Pour plus d'informations sur la gestion des exceptions sur les processeurs x64, consultez l' Exception Handling (x64).

Voir aussi

Autres ressources

Guide de référence du langage C++