The Wayback Machine - https://web.archive.org/web/20211220001014/https://ru.cppreference.com/w/cpp/error
Пространства имён
Варианты
Действия

Обработка ошибок

Материал из cppreference.com
< cpp
 
C++
Поддержка компилятором
Автономные и размещённые реализации
Язык
Заголовки стандартной библиотеки
Требования к именованию
Макросы тестирования функциональности (C++20)
Поддержка языка
Библиотека концептов (C++20)
Библиотека диагностики
Библиотека общих утилит
Библиотека строк
Библиотека контейнеров
Библиотека итераторов
Библиотека диапазонов (C++20)
Библиотека алгоритмов
Библиотека численных данных
Библиотека ввода/вывода
Библиотека локализаций
Регулярные выражения (C++11)
Атомарные операции (C++11)
Библиотека поддержки потоков (C++11)
Библиотека файловой системы (C++17)
Технические спецификации
Указатель символов
Внешние библиотеки
 
Библиотека утилит
Поддержка языка
Поддержка типа (базовые типы, RTTI, свойства типов)    
Макросы тестирования функциональности библиотеки (C++20)
Управление динамической памятью
Программные утилиты
Обработка ошибок
Поддержка сопрограмм (C++20)
Вариативные функции
(C++17)
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)  
(C++20)
Операции обмена и типа
(C++14)
(C++11)

(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

Элементарные преобразования строк
(C++17)
(C++17)

Stacktrace
 
Обработка ошибок
Обработка исключений
Сбои обработки исключений
(до C++17)
(до C++17)
(C++11)(до C++17)
(до C++17)
Коды ошибок
Коды ошибок
Категории исключений
(ТС TM)
Утверждения
Средства system_error
(C++11)
(C++11)
 

Содержание

[править] Обработка исключений

Заголовок <exception> предоставляет несколько классов и функций, связанных с обработкой исключений в программах на C++.

Определены в заголовочном файле <exception>
базовый класс для исключений, создаваемых компонентами стандартной библиотеки
(класс) [править]
Захват и хранение объектов исключений
(убрано в C++20)
(C++17)
проверяет, выполняется ли в настоящее время обработка исключений
(функция) [править]
тип общего указателя для обработки объектов исключений
(определение типа) [править]
создаёт std::exception_ptr из объекта исключения
(шаблон функции) [править]
фиксирует текущее исключение в std::exception_ptr
(функция) [править]
бросает исключение из std::exception_ptr
(функция) [править]
комбинированный тип для захвата и хранения текущих исключений
(класс) [править]
бросает свой аргумент с комбинированным std::nested_exception
(шаблон функции) [править]
бросает исключение из std::nested_exception
(шаблон функции) [править]
Обработка сбоев в обработке исключений
Определены в заголовочном файле <exception>
функция, вызываемая при сбое обработки исключения
(функция) [править]
тип функции, вызываемой из std::terminate
(определение типа) [править]
получает текущий terminate_handler
(функция) [править]
изменяет функцию, вызываемую из std::terminate
(функция) [править]
исключение, которое возникает, когда std::current_exception не может скопировать объект исключения
(класс) [править]
Обработка нарушений спецификации исключений (удалено в C++17)
(убрано в C++17)
функция, вызываемая при нарушении спецификации динамического исключения
(функция) [править]
(убрано в C++17)
тип функции, вызываемой из std::unexpected
(определение типа) [править]
(убрано в C++17)
изменяет функцию, которая будет вызываться из std::unexpected
(функция) [править]
(убрано в C++17)
изменяет функцию, вызываемую из std::unexpected
(функция) [править]

[править] Категории исключений

В заголовке <stdexcept> предопределено несколько вспомогательных классов для сообщения об определённых ошибочных условиях. Эти классы можно разделить на две категории: логические ошибки и ошибки времени выполнения. Логические ошибки являются следствием неправильной логики программы и их можно предотвратить. Ошибки выполнения возникают из-за событий, выходящих за рамки программы, и их нелегко предсказать.

Определены в заголовочном файле <stdexcept>
класс исключения для обозначения нарушений логических предварительных условий или инвариантов класса
(класс) [править]
класс исключения для сообщения о недопустимых аргументах
(класс) [править]
класс исключения для сообщения об ошибках домена
(класс) [править]
класс исключения для сообщения о попытках превышения максимально допустимого размера
(класс) [править]
класс исключения для сообщения, что аргументы за пределами ожидаемого диапазона
(класс) [править]
класс исключения для обозначения условий, обнаруживаемых только во время выполнения
(класс) [править]
класс исключения для сообщения об ошибках диапазона во внутренних вычислениях
(класс) [править]
класс исключения для сообщения об арифметических переполнениях
(класс) [править]
класс исключения для сообщения об арифметических потерях
(класс) [править]
(ТС TM)
класс исключения для отмены атомарных транзакций
(шаблон класса)

[править] Номера ошибок

Определены в заголовочном файле <cerrno>
макрос, который расширяется до переменной номера локальной ошибки потока, совместимой с POSIX
(macro variable) [править]
макросы для стандартных состояний ошибок, совместимых с POSIX
(константа-макрос) [править]

[править] Утверждения

Утверждения помогают реализовать проверку предусловий в программах.

Определены в заголовочном файле <cassert>
прерывает выполнение программы, если указанное пользователем условие не равно true. Может быть отключено для релизовых сборок
(функция-макрос) [править]

[править] Системная ошибка

Заголовок <system_error> определяет типы и функции, используемые для сообщения об ошибках, возникающих из операционной системы, потокового Ввода/Вывода, std::future, или других низкоуровневых API.

Определены в заголовочном файле <system_error>
базовый класс для категорий ошибок
(класс) [править]
определяет общую категорию ошибки
(функция) [править]
определяет категорию ошибки операционной системы
(функция) [править]
содержит переносимый код ошибки
(класс) [править]
(C++11)
перечисление std::error_condition, в котором перечислены все стандартные константы макроса <cerrno>
(класс) [править]
содержит код ошибки, зависящий от платформы
(класс) [править]
класс исключения, используемый для сообщения условий, которые имеют error_code
(класс) [править]

[править] Смотрите также

объявление static_assert(C++11) выполняет проверку утверждения во время компиляции[править]
Документация по C для Обработка ошибок
Источник — «https://ru.cppreference.com/mwiki/index.php?title=cpp/error&oldid=46374»