std:: bad_any_cast
|
Definiert in Header
<any>
|
||
|
class
bad_any_cast
:
public
std::
bad_cast
|
(seit C++17) | |
Definiert einen Typ von Objekt, der von den wertrückgebenden Formen von std::any_cast bei Fehlschlag geworfen wird.
Inhaltsverzeichnis |
Memberfunktionen
|
(Konstruktor)
|
konstruiert ein neues
bad_any_cast
Objekt
(öffentliche Elementfunktion) |
|
operator=
|
ersetzt das
bad_any_cast
Objekt
(öffentliche Elementfunktion) |
|
what
|
gibt die erläuternde Zeichenkette zurück
(öffentliche Elementfunktion) |
std::bad_any_cast:: bad_any_cast
|
bad_any_cast
(
)
noexcept
;
|
(1) | (seit C++17) |
|
bad_any_cast
(
const
bad_any_cast
&
other
)
noexcept
;
|
(2) | (seit C++17) |
Konstruiert ein neues
bad_any_cast
-Objekt mit einem implementierungsdefinierten nullterminierten Byte-String, der über
what()
zugänglich ist.
std::bad_any_cast
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Parameter
| other | - | ein weiteres Ausnahmeobjekt zum Kopieren |
std::bad_any_cast:: operator=
|
bad_any_cast
&
operator
=
(
const
bad_any_cast
&
other
)
noexcept
;
|
(seit C++17) | |
Weist die Inhalte mit denen von
other
zu. Wenn
*
this
und
other
beide den dynamischen Typ
std::bad_any_cast
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
nach der Zuweisung.
Parameter
| other | - | ein weiteres Ausnahmeobjekt, mit dem zugewiesen werden soll |
Rückgabewert
* this
std::bad_any_cast:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(seit C++17) | |
Gibt den erläuternden String zurück.
Rückgabewert
Zeiger auf einen implementierungsdefinierten nullterminierten String mit erläuternden Informationen. Der String ist geeignet für Konvertierung und Anzeige als std::wstring . Der Zeiger ist garantiert mindestens so lange gültig, bis das Ausnahmeobjekt, von dem er erhalten wurde, zerstört wird, oder bis eine nicht-konstante Memberfunktion (z.B. Kopierzuweisungsoperator) auf dem Ausnahmeobjekt aufgerufen wird.
Anmerkungen
Implementierungen dürfen, sind aber nicht verpflichtet,
what()
zu überschreiben.
Geerbt von std:: bad_cast
Geerbt von std:: exception
Elementfunktionen
|
[virtual]
|
zerstört das Exception-Objekt
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
|
[virtual]
|
gibt einen erklärenden String zurück
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
Beispiel
#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); // wirft Exception } catch (const std::bad_any_cast& ex) { std::println("{}", ex.what()); } }
Mögliche Ausgabe:
bad any_cast