std::system_error
De es.cppreference.net
| Definido en el encabezado <system_error>
|
||
class system_error;
|
(desde C++11) | |
std::system_error es el tipo de excepción lanzada por varias funciones de la biblioteca (típicamente las funciones que interactúan con las instalaciones del SO, p.ej. el constructor de std::thread) cuando la excepción tiene un std::error_code asociado, el cual puede ser reportado.
Diagrama de herencia
Funciones miembro
construye el objeto
system_error
(función miembro pública) |
|
reemplaza el objeto
system_error
(función miembro pública) |
|
|
devuelve el código de error
(función miembro pública) |
|
|
[virtual]
|
devuelve una cadena explicativa
(función miembro pública virtual) |
Heredado de std:: exception
Funciones miembro
|
[virtual]
|
destruye el objeto de excepción
(función miembro pública virtual de
std::exception
)
|
|
[virtual]
|
devuelve una cadena explicativa
(función miembro pública virtual de
std::exception
)
|
Ejemplo
Ejecutar este código
#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"; } }
Salida posible:
Caught system_error with code [generic:22] meaning [Invalid argument]