std::system_error
Von cppreference.com
| Definiert in der Header-Datei <system_error> |
||
| class system_error; |
(seit C++11) | |
std::system_error ist der Typ der Ausnahme, die von verschiedenen Bibliotheksfunktionen (typischerweise Funktionen, die mit Betriebssystem-Einrichtungen Schnittstellen bilden, z. B. dem Konstruktor von std::thread) ausgelöst wird, wenn die Ausnahme einen zugehörigen std::error_code hat, der gemeldet werden kann.
Vererbungdiagramm
Inhalt |
[bearbeiten] Memberfunktionen
konstruiert das system_error-Objekt(public member function) | |
ersetzt das system_error-Objekt(public member function) | |
| gibt den Fehlercode zurück (public member function) | |
| [virtuell] |
gibt einen erklärenden String zurück (virtual public member function) |
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] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <system_error> #include <thread> int main() { try { std::thread().detach(); // attempt to detach a non-thread } catch(const std::system_error& e) { std::cout << "Caught system_error with code " "[" << e.code() << "] meaning " "[" << e.what() << "]\n"; } }
Mögliche Ausgabe
Caught system_error with code [generic:22] meaning [Invalid argument]