std:: bad_any_cast
|
Défini dans l'en-tête
<any>
|
||
|
class
bad_any_cast
:
public
std::
bad_cast
|
(depuis C++17) | |
Définit un type d'objet à lever par les formes à retour de valeur de std::any_cast en cas d'échec.
Table des matières |
Fonctions membres
|
(constructeur)
|
construit un nouvel objet
bad_any_cast
(fonction membre publique) |
|
operator=
|
remplace l'objet
bad_any_cast
(fonction membre publique) |
|
what
|
retourne la chaîne explicative
(fonction membre publique) |
std::bad_any_cast:: bad_any_cast
|
bad_any_cast
(
)
noexcept
;
|
(1) | (depuis C++17) |
|
bad_any_cast
(
const
bad_any_cast
&
other
)
noexcept
;
|
(2) | (depuis C++17) |
Construit un nouvel objet
bad_any_cast
avec une chaîne d'octets terminée par un caractère nul définie par l'implémentation, accessible via
what()
.
std::bad_any_cast
, alors
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Paramètres
| other | - | un autre objet exception à copier |
std::bad_any_cast:: operator=
|
bad_any_cast
&
operator
=
(
const
bad_any_cast
&
other
)
noexcept
;
|
(depuis C++17) | |
Assigne le contenu avec celui de
other
. Si
*
this
et
other
ont tous deux le type dynamique
std::bad_any_cast
alors
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
après l'assignation.
Paramètres
| other | - | autre objet d'exception à assigner |
Valeur de retour
* this
std::bad_any_cast:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(depuis C++17) | |
Retourne la chaîne explicative.
Valeur de retour
Pointeur vers une chaîne implémentée-définie terminée par un caractère nul contenant des informations explicatives. La chaîne est adaptée à la conversion et à l'affichage en tant que std::wstring . Le pointeur est garanti d'être valide au moins jusqu'à la destruction de l'objet exception duquel il est obtenu, ou jusqu'à l'appel d'une fonction membre non-const (par exemple l'opérateur d'affectation par copie) sur l'objet exception.
Notes
Les implémentations sont autorisées mais non obligées de redéfinir
what()
.
Hérité de std:: bad_cast
Hérité de std:: exception
Fonctions membres
|
[virtual]
|
détruit l'objet exception
(fonction membre publique virtuelle de
std::exception
)
|
|
[virtual]
|
retourne une chaîne explicative
(fonction membre publique virtuelle de
std::exception
)
|
Exemple
#include <any> #include <cassert> #include <print> int main() { auto x = std::any(42); assert(std::any_cast<int>(x) == 42); // OK try { [[maybe_unused]] auto s = std::any_cast<std::string>(x); // lève une exception } catch (const std::bad_any_cast& ex) { std::println("{}", ex.what()); } }
Sortie possible :
bad any_cast