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)
|
Fonctions membres
|
|
construit l'objet exception
(fonction membre publique)
|
|
|
détruit l'objet exception
(fonction membre publique virtuelle)
|
|
|
copie l'objet exception
(fonction membre publique)
|
|
|
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
-
-
**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.
Notes
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
|