std::bad_exception
Von cppreference.com
| Definiert in Header <exception> |
||
| class bad_exception; |
||
std::bad_exception ist der Typ der Ausnahme, die zur Laufzeit von C++ in folgenden Situationen ausgelöst wird.
|
(seit C++11) |
|
(bis C++17) |
Vererbungdiagramm
|
Alle Memberfunktionen von |
(seit C++26) |
Inhalt |
[bearbeiten] Memberfunktionen
konstruiert das bad_exception-Objekt(öffentliche Memberfunktion) | |
| kopiert das Objekt (öffentliche Memberfunktion) | |
| [virtuell] |
gibt den erklärenden String zurück (virtuelle öffentliche Memberfunktion) |
Abgeleitet von std::exception
Memberfunktionen
| [virtuell] |
zerstört das Ausnahmeobjekt (virtuelle öffentliche Memberfunktion von std::exception) |
| [virtuell] |
gibt einen erklärenden String zurück (virtuelle öffentliche Memberfunktion von std::exception) |
[bearbeiten] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_constexpr_exceptions |
202411L |
(C++26) | constexpr für Ausnahme-Typen |
[bearbeiten] Beispiel
Kompiliert nur in C++14- oder früheren Modi (kann Warnungen ausgeben).
Führen Sie diesen Code aus
#include <exception> #include <iostream> #include <stdexcept> void my_unexp() { throw; } void test() throw(std::bad_exception) // Dynamic exception specifications // are deprecated in C++11 { throw std::runtime_error("test"); } int main() { std::set_unexpected(my_unexp); // Deprecated in C++11, removed in C++17 try { test(); } catch (const std::bad_exception& e) { std::cerr << "Caught " << e.what() << '\n'; } }
Mögliche Ausgabe
Caught std::bad_exception