std:: system_error
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diagnostics library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::system_error
|
Определено в заголовке
<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]