std:: exception
|
Definiert im Header
<exception>
|
||
|
class
exception
;
|
||
Bietet eine konsistente Schnittstelle zur Fehlerbehandlung durch den throw expression .
Alle vom Standardbibliothek generierten Ausnahmen erben von
std::exception
.
|
Alle Memberfunktionen von
|
(seit C++26) |
Inhaltsverzeichnis |
Memberfunktionen
|
Konstruiert das Exception-Objekt
(öffentliche Elementfunktion) |
|
|
[virtual]
|
Zerstört das Exception-Objekt
(virtuelle öffentliche Elementfunktion) |
|
Kopiert Exception-Objekt
(öffentliche Elementfunktion) |
|
|
[virtual]
|
Gibt einen erläuternden String zurück
(virtuelle öffentliche Elementfunktion) |
Standardanforderungen für Ausnahmen
Jede Standardbibliotheksklasse
T
, die von
std::exception
abgeleitet ist, verfügt über die folgenden öffentlich zugänglichen Memberfunktionen, die jeweils
nicht mit einer Exception beenden
(bis C++11)
eine
nicht-werfende Exception-Spezifikation
besitzen
(seit C++11)
:
- Default-Konstruktor (sofern keine anderen Konstruktoren bereitgestellt werden)
- Kopierkonstruktor
- Kopierzuweisungsoperator
Der Kopierkonstruktor und der Kopierzuweisungsoperator erfüllen die folgende Nachbedingung:
-
Wenn zwei Objekte
lhs
und
rhs
beide den dynamischen Typ
Thaben und lhs eine Kopie von rhs ist, dann ist std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) gleich 0 .
Die
what()
-Memberfunktion jedes solchen
T
erfüllt die für
std::exception::what()
spezifizierten Anforderungen.
Standardausnahmen
| (seit C++11) |
| (seit C++11) |
| (seit C++17) |
| (TM TS) |
| (seit C++20) |
| (seit C++17) |
| (seit C++23) |
| (seit C++11) |
| (seit C++11) |
| (bis C++11) |
| (seit C++17) |
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_constexpr_exceptions
|
202411L
|
(C++26) | constexpr für Ausnahmetypen |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 471 | C++98 |
Es gab keine Anforderung an Standardbibliotheksklassen, die von
std::exception
abgeleitet sind
|
hinzugefügt |