◐ Shell
clean mode source ↗

std::system_error — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

class system_error;

(начиная с C++11)

std::system_error это тип исключения, генерируемого различными библиотечными функциями (обычно функциями, взаимодействующими со средствами ОС, например конструктором std::thread), когда исключение имеет связанный std::error_code, о котором можно сообщить.

cpp/error/exceptioncpp/error/runtime error

Диаграмма наследования

Функции-элементы

Унаследован от std::exception

Функции-элементы

уничтожает объект исключения
(virtual public of std::exception функция-элемент) [править]
возвращает поясняющую строку
(virtual public of std::exception функция-элемент) [править]

Пример

#include <thread>
#include <iostream>
#include <system_error>

int main()
{
    try {
        std::thread().detach(); // попытка отсоединить не-поток
    } catch(const std::system_error& e) {
        std::cout << "Пойман system_error с кодом " 
                  << '[' << e.code() << ']'
                  << " означает "
                  << '[' << e.what() << "]\n";
    }
}

Возможный вывод:

Пойман system_error с кодом [generic:22] означает [Invalid argument]