Namespaces
Variants

std::system_error

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
 
Definiert in Header <system_error>
class system_error;
(seit C++11)

std::system_error ist der Typ der Ausnahme, die von verschiedenen Bibliotheksfunktionen ausgelöst wird (typischerweise die Funktionen, die mit den Betriebssystemeinrichtungen interagieren, z. B. der Konstruktor von std::thread) wenn die Ausnahme einen zugehörigen std::error_code, der gemeldet werden kann.

cpp/error/exceptioncpp/error/runtime error

Vererbungsdiagramm

Memberfunktionen

konstruiert das system_error Objekt
(öffentliche Elementfunktion)
ersetzt das system_error Objekt
(öffentliche Elementfunktion)
gibt Fehlercode zurück
(öffentliche Elementfunktion)
[virtual]
gibt einen erläuternden String zurück
(virtuelle öffentliche Elementfunktion)

Geerbt von std:: exception

Elementfunktionen

[virtual]
zerstört das Exception-Objekt
(virtuelle öffentliche Elementfunktion von std::exception )
[virtual]
gibt einen erläuternden String zurück
(virtuelle öffentliche Elementfunktion von std::exception )

Beispiel

#include <iostream>
#include <system_error>
#include <thread>
int main()
{
    try
    {
        std::thread().detach(); // Versuch, einen Nicht-Thread zu trennen
    }
    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]