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