std::system_error
Определено в заголовке <system_error> |
||
|---|---|---|
class system_error; |
(с C++11) |
Тип исключения, выбрасываемый различными библиотечными функциями (как правило, функциями, взаимодействующими с системными ресурсами, например, конструктором std::thread), когда исключение имеет связанный std::error_code, который может быть сообщен.
Диаграмма наследования
Члены
создаёт объект system_error (общедоступная функция-член) |
|
заменяет объект system_error (общедоступная функция-член) |
|
| возвращает код ошибки (общедоступная функция-член) |
|
|
[виртуальная] |
возвращает строку с объяснением (виртуальная общедоступная функция-член) |
Унаследовано от std::exception
Члены
|
[виртуальная] |
уничтожает объект исключения (виртуальная общедоступная функция-член класса std::exception) |
|
[виртуальная] |
возвращает строку с объяснением (виртуальная общедоступная функция-член класса 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]
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/error/system_error