std::system_error
С ru.cppreference.net
| Определён в заголовке <system_error>
|
||
class system_error;
|
(начиная с C++11) | |
std::system_error — это тип исключения, генерируемого различными функциями библиотеки (обычно функциями, взаимодействующими с возможностями ОС, например конструктором std::thread), когда исключение имеет связанный std::error_code, который может быть сообщён.
Диаграмма наследования
Функции-члены
конструирует объект
system_error
(public member function) |
|
заменяет объект
system_error
(public member function) |
|
|
возвращает код ошибки
(public member function) |
|
|
[virtual]
|
возвращает поясняющую строку
(virtual public member function) |
Унаследовано от std:: exception
Функции-члены
|
[virtual]
|
уничтожает объект исключения
(виртуальная публичная функция-член
std::exception
)
|
|
[virtual]
|
возвращает поясняющую строку
(виртуальная публичная функция-член
std::exception
)
|
Пример
Запустить этот код
#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"; } }
Возможный вывод:
Caught system_error with code [generic:22] meaning [Invalid argument]