Definido en el encabezado
classsystem_error;
(desde C ++ 11)

std::system_error es el tipo de excepción lanzada por varias funciones de biblioteca (típicamente las funciones que interactúan con las instalaciones del sistema operativo, por ejemplo, el constructor de std::thread) cuando la excepción tiene un asociado std::error_code, que puede ser informado.

cpp/error/runtime error

error del sistema std-herencia.svg

Diagrama de herencia.

Funciones de los miembros

(constructor) construye el system_error objeto
(función de miembro público)
código devuelve el código de error
(función de miembro público)
qué[virtual] devuelve explicativo string
(función de miembro público virtual)

Heredado de std :: exception

Funciones de los miembros

(incinerador de basuras)[virtual] destruye el objeto de excepción
(función de miembro público virtual de std::exception)
qué[virtual] devuelve un explicativo string
(función de miembro público virtual de std::exception)

Ejemplo

#include#include#includeintmain()try
        std::thread().detach();// attempt to detach a non-threadcatch(const std::system_error& e)
        std::cout <<"Caught system_error with code "<< e.code()<<" meaning "<< e.what()<<'n';

Producción:

Caught system_error with code generic:22 meaning Invalid argument