Namespaces
Variants

std:: system_error

From cppreference.net
Utilities library
Definiert im 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 von Funktionen, die mit Betriebssystemfunktionen interagieren, z.B. der Konstruktor von std::thread ), wenn die Ausnahme einen assoziierten std::error_code besitzt, der gemeldet werden kann.

cpp/error/exception cpp/error/runtime error std-system error-inheritance.svg

Vererbungsdiagramm

Inhaltsverzeichnis

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]