Namensräume
Varianten
Aktionen

std::system_error

Von cppreference.com
< cpp‎ | error
 
 
Dienstprogramm-Bibliotheken
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 Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
 
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.

cpp/error/exceptioncpp/error/runtime errorstd-system error-inheritance.svg

Vererbungdiagramm

Inhalt

[bearbeiten] Memberfunktionen

konstruiert das system_error-Objekt
(public member function) [bearbeiten]
ersetzt das system_error-Objekt
(public member function) [bearbeiten]
gibt den Fehlercode zurück
(public member function) [bearbeiten]
[virtuell]
gibt einen erklärenden String zurück
(virtual public member function) [bearbeiten]

Abgeleitet von std::exception

Memberfunktionen

[virtuell]
zerstört das Ausnahmeobjekt
(virtuelle öffentliche Memberfunktion von std::exception) [bearbeiten]
[virtuell]
gibt einen erklärenden String zurück
(virtuelle öffentliche Memberfunktion von std::exception) [bearbeiten]

[bearbeiten] Beispiel

#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]