Diagnostics library
Inhaltsverzeichnis |
Exception Handling
Der Header <exception> stellt mehrere Klassen und Funktionen zur Verfügung, die mit der Ausnahmebehandlung in C++-Programmen zusammenhängen.
|
Definiert im Header
<exception>
|
|
|
Basisklasse für Ausnahmen, die von den Komponenten der Standardbibliothek geworfen werden
(Klasse) |
|
Erfassung und Speicherung von Ausnahmeobjekten |
|
|
(
removed in C++20*
)
(C++17)
|
prüft, ob aktuell eine Ausnahmebehandlung stattfindet
(Funktion) |
|
(C++11)
|
Gemeinsamer Zeigertyp zur Behandlung von Ausnahmeobjekten
(typedef) |
|
(C++11)
|
erstellt einen
std::exception_ptr
aus einem Exception-Objekt
(Funktions-Template) |
|
(C++11)
|
erfasst die aktuelle Ausnahme in einem
std::exception_ptr
(Funktion) |
|
(C++11)
|
wirft die Ausnahme von einem
std::exception_ptr
(Funktion) |
|
(C++11)
|
Ein Mixin-Typ zum Erfassen und Speichern aktueller Exceptions
(Klasse) |
|
(C++11)
|
wirft sein Argument mit
std::nested_exception
vermischt
(Funktionsschablone) |
|
(C++11)
|
wirft die Exception aus einer
std::nested_exception
(Funktions-Template) |
Behandlung von Fehlern in der Ausnahmebehandlung |
|
|
Definiert im Header
<exception>
|
|
|
Funktion, die aufgerufen wird, wenn die Ausnahmebehandlung fehlschlägt
(Funktion) |
|
|
der Typ der Funktion, die von
std::terminate
aufgerufen wird
(typedef) |
|
|
(C++11)
|
ermittelt den aktuellen terminate_handler
(Funktion) |
|
ändert die Funktion, die von
std::terminate
aufgerufen wird
(Funktion) |
|
|
Ausnahme, die ausgelöst wird, wenn
std::current_exception
das Exception-Objekt nicht kopieren kann
(Klasse) |
|
Behandlung von Exception-Spezifikationsverletzungen (bis C++17) |
|
|
(deprecated in C++11)
(removed in C++17)
|
Funktion, die aufgerufen wird, wenn eine dynamische Exception-Spezifikation verletzt wird
(Funktion) |
|
(in C++11 veraltet)
(in C++17 entfernt)
|
der Typ der Funktion, die von
std::unexpected
aufgerufen wird
(Typdefinition) |
|
(veraltet in C++11)
(entfernt in C++17)
|
ermittelt den aktuellen
unexpected_handler
(Funktion) |
|
(in C++11 veraltet)
(in C++17 entfernt)
|
ändert die Funktion, die von
std::unexpected
aufgerufen wird
(Funktion) |
Ausnahmekategorien
Im Header
<stdexcept>
sind mehrere vordefinierte Hilfsklassen vorhanden, um bestimmte Fehlerzustände zu melden. Diese Klassen können in zwei Kategorien unterteilt werden:
logic
errors und
runtime
errors. Logic errors sind die Folge fehlerhafter Logik innerhalb des Programms und könnten vermeidbar sein. Runtime errors sind auf Ereignisse außerhalb des Programmbereichs zurückzuführen und lassen sich nicht leicht vorhersagen.
|
Definiert im Header
<stdexcept>
|
|
|
Exception-Klasse zur Anzeige von Verletzungen logischer Vorbedingungen oder Klasseninvarianten
(Klasse) |
|
|
Exception-Klasse zum Melden ungültiger Argumente
(Klasse) |
|
|
Exception-Klasse zum Melden von Definitionsbereichsfehlern
(Klasse) |
|
|
Exception-Klasse zum Melden von Versuchen, die maximal erlaubte Größe zu überschreiten
(Klasse) |
|
|
Exception-Klasse zum Melden von Argumenten außerhalb des erwarteten Bereichs
(Klasse) |
|
|
Exception-Klasse zur Anzeige von Bedingungen, die nur zur Laufzeit erkennbar sind
(Klasse) |
|
|
Exception-Klasse zum Melden von Bereichsfehlern in internen Berechnungen
(Klasse) |
|
|
Exception-Klasse zum Melden von arithmetischen Überläufen
(Klasse) |
|
|
Exception-Klasse zum Melden von arithmetischen Unterläufen
(Klasse) |
|
|
(TM TS)
|
Exception-Klasse zum Abbrechen atomarer Transaktionen
(Klassentemplate) |
Fehlernummern
|
Definiert im Header
<cerrno>
|
|
|
Makro, das zu einer POSIX-kompatiblen thread-lokalen Fehlernummer-Variable expandiert
(Makro-Variable) |
|
|
Makros für standard POSIX-kompatible Fehlerbedingungen
(Makro-Konstante) |
|
Systemfehler (seit C++11)
Der Header
<system_error>
definiert Typen und Funktionen, die zur Meldung von Fehlerzuständen verwendet werden, die vom Betriebssystem, Streams-I/O,
std::future
oder anderen Low-Level-APIs stammen.
|
Definiert im Header
<system_error>
|
|
|
(C++11)
|
Basisklasse für Fehlerkategorien
(Klasse) |
|
(C++11)
|
identifiziert die generische Fehlerkategorie
(Funktion) |
|
(C++11)
|
identifiziert die Betriebssystem-Fehlerkategorie
(Funktion) |
|
(C++11)
|
hält einen portablen Fehlercode
(Klasse) |
|
(C++11)
|
die
std::error_condition
Aufzählung listet alle standard
<cerrno>
Makrokonstanten auf
(Klasse) |
|
(C++11)
|
hält einen plattformabhängigen Fehlercode
(Klasse) |
|
(C++11)
|
Ausnahmeklasse zur Meldung von Zuständen mit einem error_code
(Klasse) |
Assertions
Assertionen helfen bei der Implementierung von Präcondition-Prüfungen in Programmen.
|
Definiert im Header
<cassert>
|
|
|
bricht das Programm ab, wenn die benutzerdefinierte Bedingung nicht
true
ist. Kann für Release-Builds deaktiviert werden.
(Funktionsmakro) |
|
Stacktrace (seit C++23)
|
Definiert im Header
<stacktrace>
|
|
|
(C++23)
|
Darstellung einer Auswertung in einem Stacktrace
(Klasse) |
|
(C++23)
|
Annähernde Darstellung einer Aufrufsequenz bestehend aus Stacktrace-Einträgen
(Klassentemplate) |
Debugging-Unterstützung (since C++26)
|
Definiert im Header
<debugging>
|
|
|
(C++26)
|
hält das laufende Programm beim Aufruf an
(Funktion) |
|
(C++26)
|
ruft
std::breakpoint
auf, falls
std::is_debugger_present
true
zurückgibt
(Funktion) |
|
(C++26)
|
prüft, ob ein Programm unter der Kontrolle eines Debuggers läuft
(Funktion) |
Siehe auch
static_assert
Deklaration
(C++11)
|
führt Überprüfung zur Compile-Zeit durch |
|
C-Dokumentation
für
Fehlerbehandlung
|
|