Namespaces
Variants

Diagnostics library

From cppreference.net

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)
type de pointeur partagé pour la gestion des objets d'exception
(typedef)
crée un std::exception_ptr à partir d'un objet exception
(modèle de fonction)
capture l'exception actuelle dans un std::exception_ptr
(fonction)
lance l'exception depuis un std::exception_ptr
(fonction)
un type mixin pour capturer et stocker les exceptions courantes
(classe)
lance son argument avec std::nested_exception intégré
(fonction template)
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)
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)
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>
classe de base pour les catégories d'erreur
(classe)
identifie la catégorie d'erreur générique
(fonction)
identifie la catégorie d'erreur du système d'exploitation
(fonction)
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)
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>
représentation d'une évaluation dans une trace de pile
(classe)
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)
appelle std::breakpoint si std::is_debugger_present retourne true
(fonction)
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