std::format_error
Определено в заголовочном файле <format>
|
||
class format_error; |
(начиная с C++20) | |
Определяет тип объекта исключения, выбрасываемого для сообщения об ошибках в библиотеке форматирования.
Диаграмма наследования
Содержание |
[править] Функции-элементы
(конструктор) |
создаёт новый объект format_error с заданным сообщением (public функция-элемент) |
operator= |
заменяет объект format_error (public функция-элемент) |
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) | |
std::format_error
, тогда std::strcmp(what(), other.what()) == 0. Параметры
what_arg | — | пояснительная строка |
other | — | другой объект исключения для копирования |
Исключения
Примечание
Поскольку при копировании std::format_error
не разрешается создавать исключения, это сообщение обычно хранится внутри в виде отдельно выделенной строки с подсчётом ссылок. По этой же причине нет конструктора, принимающего std::string&&
: ему всё равно пришлось бы копировать содержимое.
A производный стандартный класс исключения должен иметь общедоступный конструктор копирования. Его можно определить неявно, если поясняющие строки, полученные с помощью 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
Примечание
A производный стандартный класс исключения должен иметь общедоступный оператор присваивания копированием. Его можно определить неявно, если поясняющие строки, полученные с помощью what()
, одинаковы для исходного объекта и скопированного объекта.
Унаследован от std::runtime_error
Унаследован от std::exception
Функции-элементы
[virtual] |
уничтожает объект исключения (virtual public of std::exception функция-элемент)
|
[virtual] |
возвращает поясняющую строку (virtual public of std::exception функция-элемент)
|
[править] Пример
Этот раздел не завершён Причина: нет примера |