std::format_error — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(начиная с C++20) | |
Определяет тип объекта исключения, выбрасываемого для сообщения об ошибках в библиотеке форматирования.
Диаграмма наследования
Функции-элементы
создаёт новый объект format_error с заданным сообщением (public функция-элемент) | |
заменяет объект format_error (public функция-элемент) |
std::format_error::format_error
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
|
|
(3) | |
1) Создаёт объект исключения с what_arg в качестве пояснительной строки. После создания std::strcmp(what(), what_arg.c_str()) == 0.
2) Создаёт объект исключения с what_arg в качестве пояснительной строки. После создания std::strcmp(what(), what_arg) == 0.
3) Конструктор копирования. Если *this и other имеют динамический тип std::format_error, тогда std::strcmp(what(), other.what()) == 0.
Параметры
| what_arg | — | пояснительная строка |
| other | — | другой объект исключения для копирования |
Исключения
1,2) Может генерировать std::bad_alloc.
Примечание
Поскольку при копировании std::format_error не разрешается создавать исключения, это сообщение обычно хранится внутри в виде отдельно выделенной строки с подсчётом ссылок. По этой же причине нет конструктора, принимающего std::string&&: ему всё равно пришлось бы копировать содержимое.
A производный стандартный класс исключения должен иметь общедоступный конструктор копирования. Его можно определить неявно, если поясняющие строки, полученные с помощью what(), одинаковы для исходного объекта и скопированного объекта.
std::format_error::operator=
<tbody> </tbody>
|
|
||
Присваивает содержимое из other. Если *this и other имеют динамический тип std::format_error, тогда std::strcmp(what(), other.what()) == 0 после присваивания.
Параметры
| other | — | другой объект исключения для присваивания |
Возвращаемое значение
*this
Примечание
A производный стандартный класс исключения должен иметь общедоступный оператор присваивания копированием. Его можно определить неявно, если поясняющие строки, полученные с помощью what(), одинаковы для исходного объекта и скопированного объекта.
Унаследован от std::exception
Функции-элементы
| уничтожает объект исключения (virtual public of std::exception функция-элемент) [править]
| |
| возвращает поясняющую строку (virtual public of std::exception функция-элемент) [править]
|