Namespaces
Variants

std::exception::exception

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
 
exception() throw();
(1) (jusqu'à C++11)
exception() noexcept;
(depuis C++11)
(constexpr depuis C++26)
exception( const exception& other ) throw();
(2) (jusqu'à C++11)
exception( const exception& other ) noexcept;
(depuis C++11)
(constexpr depuis C++26)

Construit un nouvel objet exception.

1) Constructeur par défaut. what() retourne une chaîne définie par l'implémentation.
2) Constructeur de copie. Initialise le contenu avec celui de other. Si *this et other ont tous deux le type dynamique std::exception, alors std::strcmp(what(), other.what()) == 0.

Paramètres

other - une autre exception pour assigner le contenu de

Notes

Parce que la copie de std::exception n'est pas autorisée à lever des exceptions, lorsque les classes dérivées (telles que std::runtime_error ) doivent gérer un message de diagnostic défini par l'utilisateur, il est généralement implémenté sous forme de chaîne à copie différée.

L'implémentation Microsoft inclut des constructeurs non standard prenant des chaînes de caractères, permettant ainsi de lever directement des instances avec un message d'erreur significatif. Les équivalents standards les plus proches sont std::runtime_error ou std::logic_error .

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 publié Comportement corrigé
LWG 471 C++98 aucune exigence n'est imposée sur what() de la copie d'exception ajoutée