Diagnostics library
Table des matières |
Gestion des exceptions
L'en-tête <exception> fournit plusieurs classes et fonctions liées à la gestion des exceptions dans les programmes C++.
|
Défini dans l'en-tête
<exception>
|
|
|
classe de base pour les exceptions levées par les composants de la bibliothèque standard
(classe) |
|
Capture et stockage des objets d'exception |
|
|
(
removed in C++20*
)
(C++17)
|
vérifie si la gestion d'exception est actuellement en cours
(fonction) |
|
(C++11)
|
type de pointeur partagé pour la gestion des objets d'exception
(typedef) |
|
(C++11)
|
crée un
std::exception_ptr
à partir d'un objet exception
(modèle de fonction) |
|
(C++11)
|
capture l'exception actuelle dans un
std::exception_ptr
(fonction) |
|
(C++11)
|
lance l'exception depuis un
std::exception_ptr
(fonction) |
|
(C++11)
|
un type mixin pour capturer et stocker les exceptions courantes
(classe) |
|
(C++11)
|
lance son argument avec
std::nested_exception
intégré
(fonction template) |
|
(C++11)
|
lance l'exception depuis un
std::nested_exception
(modèle de fonction) |
Gestion des échecs dans la gestion des exceptions |
|
|
Défini dans l'en-tête
<exception>
|
|
|
fonction appelée quand la gestion d'exception échoue
(fonction) |
|
|
le type de la fonction appelée par
std::terminate
(typedef) |
|
|
(C++11)
|
obtient le terminate_handler actuel
(fonction) |
|
modifie la fonction à appeler par
std::terminate
(fonction) |
|
|
exception levée lorsque
std::current_exception
échoue à copier l'objet d'exception
(classe) |
|
Gestion des violations de spécification d'exception (jusqu'à C++17) |
|
|
(obsolète en C++11)
(supprimé en C++17)
|
fonction appelée lorsque la spécification d'exception dynamique est violée
(fonction) |
|
(obsolète en C++11)
(supprimé en C++17)
|
le type de la fonction appelée par
std::unexpected
(typedef) |
|
(obsolète en C++11)
(supprimé en C++17)
|
obtient le
unexpected_handler
actuel
(fonction) |
|
(obsolète en C++11)
(supprimé en C++17)
|
modifie la fonction appelée par
std::unexpected
(fonction) |
Catégories d'exceptions
Plusieurs classes de commodité sont prédéfinies dans l'en-tête
<stdexcept>
pour signaler des conditions d'erreur particulières. Ces classes peuvent être divisées en deux catégories :
les erreurs de
logique
et les erreurs
d'exécution
. Les erreurs de logique sont une conséquence d'une logique défectueuse dans le programme et peuvent être évitées. Les erreurs d'exécution sont dues à des événements hors du champ d'application du programme et ne peuvent pas être facilement anticipées.
|
Défini dans l'en-tête
<stdexcept>
|
|
|
classe d'exception pour indiquer des violations de préconditions logiques ou d'invariants de classe
(classe) |
|
|
classe d'exception pour signaler des arguments invalides
(classe) |
|
|
classe d'exception pour signaler des erreurs de domaine
(classe) |
|
|
classe d'exception pour signaler des tentatives de dépassement de la taille maximale autorisée
(classe) |
|
|
classe d'exception pour signaler des arguments en dehors de la plage attendue
(classe) |
|
|
classe d'exception pour indiquer des conditions détectables uniquement à l'exécution
(classe) |
|
|
classe d'exception pour signaler des erreurs de plage dans les calculs internes
(classe) |
|
|
classe d'exception pour signaler des dépassements arithmétiques
(classe) |
|
|
classe d'exception pour signaler des sous-dépassements arithmétiques
(classe) |
|
|
(TM TS)
|
classe d'exception pour annuler des transactions atomiques
(modèle de classe) |
Numéros d'erreur
|
Défini dans l'en-tête
<cerrno>
|
|
|
macro qui s'étend à une variable de numéro d'erreur thread-local compatible POSIX
(macro variable) |
|
|
macros pour les conditions d'erreur standard compatibles POSIX
(macro constante) |
|
Erreur système (depuis C++11)
L'en-tête
<system_error>
définit les types et fonctions utilisés pour signaler des conditions d'erreur provenant du système d'exploitation, des E/S de flux,
std::future
, ou d'autres API de bas niveau.
|
Défini dans l'en-tête
<system_error>
|
|
|
(C++11)
|
classe de base pour les catégories d'erreur
(classe) |
|
(C++11)
|
identifie la catégorie d'erreur générique
(fonction) |
|
(C++11)
|
identifie la catégorie d'erreur du système d'exploitation
(fonction) |
|
(C++11)
|
contient un code d'erreur portable
(classe) |
|
(C++11)
|
l'énumération
std::error_condition
listant toutes les constantes de macro standard de
<cerrno>
(classe) |
|
(C++11)
|
contient un code d'erreur dépendant de la plateforme
(classe) |
|
(C++11)
|
classe d'exception utilisée pour signaler des conditions ayant un error_code
(classe) |
Assertions
Les assertions aident à mettre en œuvre la vérification des préconditions dans les programmes.
|
Défini dans l'en-tête
<cassert>
|
|
|
interrompt le programme si la condition spécifiée par l'utilisateur n'est pas
true
. Peut être désactivé pour les versions de production.
(macro fonction) |
|
Stacktrace (depuis C++23)
|
Défini dans l'en-tête
<stacktrace>
|
|
|
(C++23)
|
représentation d'une évaluation dans une trace de pile
(classe) |
|
(C++23)
|
représentation approximative d'une séquence d'appels constituée d'entrées de trace de pile
(modèle de classe) |
Support de débogage (since C++26)
|
Défini dans l'en-tête
<debugging>
|
|
|
(C++26)
|
met en pause le programme en cours d'exécution lorsqu'il est appelé
(fonction) |
|
(C++26)
|
appelle
std::breakpoint
si
std::is_debugger_present
retourne
true
(fonction) |
|
(C++26)
|
vérifie si un programme s'exécute sous le contrôle d'un débogueur
(fonction) |
Voir aussi
static_assert
déclaration
(C++11)
|
effectue une vérification d'assertion à la compilation |
|
Documentation C
pour
Gestion des erreurs
|
|