std::format_error
Определено в заголовке <format> | ||
|---|---|---|
class format_error; | (с C++20) |
Определяет тип объекта исключения, выбрасываемого для сообщения об ошибках в библиотеке форматирования.
Диаграмма наследования
Члены-функции
| (конструктор) | создаёт новый объект format_error с указанным сообщением (публичная функция-член) |
| operator= | заменяет объект format_error (публичная функция-член) |
std::format_error::format_error
format_error( const std::string& what_arg ); | (1) | |
format_error( const char* what_arg ); | (2) | |
format_error( const format_error& other ) noexcept; | (3) |
what_arg. После создания, std::strcmp(what(), what_arg.c_str()) == 0.what_arg. После создания, std::strcmp(what(), what_arg) == 0.*this и other оба имеют динамический тип std::format_error, то std::strcmp(what(), other.what()) == 0. Параметры
| what_arg | - | строка пояснения |
| other | - | другой объект исключения для копирования |
Исключения
std::bad_alloc.Примечания
Поскольку копирование std::format_error запрещено для выброса исключений, это сообщение обычно хранится внутри как отдельная строка с подсчётом ссылок. Это также объясняет, почему нет конструктора, принимающего std::string&&: ему всё равно пришлось бы скопировать содержимое.
Производный стандартный класс исключения должен иметь публичный конструктор копирования. Он может быть неявно определён, если строки пояснения, полученные из what(), одинаковы для исходного объекта и скопированного объекта.
std::format_error::operator=
format_error& operator=( const format_error& other ) noexcept; |
Присваивает содержимое, используя содержимое other. Если *this и other оба имеют динамический тип std::format_error, то std::strcmp(what(), other.what()) == 0 после присваивания.
Параметры
| other | - | другой объект исключения для присваивания |
Возвращаемое значение
*this
Примечания
Производный стандартный класс исключения должен иметь публичный оператор присваивания копирования. Он может быть неявно определён, если строки пояснения, полученные из what(), одинаковы для исходного объекта и скопированного объекта.
Унаследовано от std::runtime_error
Унаследовано от std::exception
Члены-функции
|
[virtual] | уничтожает объект исключения (виртуальная публичная функция-член класса std::exception) |
|
[virtual] | возвращает строку пояснения (виртуальная публичная функция-член класса std::exception) |
Пример
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/format_error