Namespaces
Variants

std:: exception

From cppreference.net
Utilities library
Défini dans l'en-tête <exception>
class exception ;

Fournit une interface cohérente pour gérer les erreurs via l' expression throw .

Toutes les exceptions générées par la bibliothèque standard héritent de std::exception .

Toutes les fonctions membres de std::exception sont constexpr .

(depuis C++26)

Table des matières

Fonctions membres

construit l'objet exception
(fonction membre publique)
[virtual]
détruit l'objet exception
(fonction membre publique virtuelle)
copie l'objet exception
(fonction membre publique)
[virtual]
retourne une chaîne explicative
(fonction membre publique virtuelle)

Exigences standard pour les exceptions

Chaque classe de la bibliothèque standard T qui dérive de std::exception possède les fonctions membres accessibles publiquement suivantes, chacune d'elles ne se termine pas par une exception (jusqu'à C++11) ayant une spécification d'exception non levante (depuis C++11) :

Le constructeur de copie et l'opérateur d'affectation par copie satisfont à la postcondition suivante :

  • Si deux objets lhs et rhs ont tous deux le type dynamique T et lhs est une copie de rhs , alors std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) est égal à 0 .

La fonction membre what() de chaque T de ce type satisfait aux contraintes spécifiées pour std::exception::what() .

Exceptions standard

(depuis C++11)
**Note:** Le texte à traduire dans ce fragment HTML est uniquement constitué de termes techniques C++ (`range_error`, `overflow_error`, `underflow_error`). Conformément aux instructions : - Ces termes C++ spécifiques ne doivent pas être traduits - Les balises HTML et attributs sont conservés intacts - Le formatage original est préservé Par conséquent, la sortie reste identique à l'entrée.
(depuis C++11)
(depuis C++17)
(TM TS)
(depuis C++20)
(depuis C++17)
(depuis C++23)
(depuis C++11)
(depuis C++11)
(jusqu'à C++11)
(depuis C++17)

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_constexpr_exceptions 202411L (C++26) constexpr pour les types d'exception

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement tel que publié Comportement correct
LWG 471 C++98 il n'y avait aucune exigence pour les classes de la bibliothèque standard dérivées de std::exception ajoutée