std::bad_typeid
Определено в заголовочном файле <typeinfo> | ||
class bad_typeid :publicstd::exception; | ||
Исключение этого типа возникает, когда оператор typeid применяется к разыменованному значению нулевого указателя полиморфного типа.
Диаграмма наследования
Содержание |
[править]Функции-элементы
(конструктор) | создаёт новый объект bad_typeid (public функция-элемент) |
operator= | заменяет объект bad_typeid (public функция-элемент) |
what | возвращает пояснительную строку (public функция-элемент) |
std::bad_typeid::bad_typeid
(1) | ||
bad_typeid()throw(); | (до C++11) | |
bad_typeid()noexcept; | (начиная с C++11) | |
(2) | ||
bad_typeid(const bad_typeid& other )throw(); | (до C++11) | |
bad_typeid(const bad_typeid& other )noexcept; | (начиная с C++11) | |
Создаёт новый объект bad_typeid
с определённой реализацией строкой байтов, заканчивающейся нулём, которая доступна через what().
std::bad_typeid
, тогда std::strcmp(what(), other.what())==0.(начиная с C++11)Параметры
other | — | другой объект исключения для копирования |
std::bad_typeid::operator=
bad_typeid& operator=(const bad_typeid& other )throw(); | (до C++11) | |
bad_typeid& operator=(const bad_typeid& other )noexcept; | (начиная с C++11) | |
Присваивает содержимое содержимому other. Если *this и other имеют динамический тип std::bad_typeid
, тогда std::strcmp(what(), other.what())==0 после присваивания.(начиная с C++11)
Параметры
other | — | другой объект исключения для присваивания |
Возвращаемое значение
*this
std::bad_typeid::what
virtualconstchar* what()constthrow(); | (до C++11) | |
virtualconstchar* what()constnoexcept; | (начиная с C++11) | |
Возвращает пояснительную строку.
Параметры
(нет)
Возвращаемое значение
Указатель на завершающуюся нулём строку с пояснительной информацией. Строка подходит для преобразования и отображения в виде std::wstring. Указатель гарантированно действителен, по крайней мере, до тех пор, пока объект исключения, из которого он получен, не будет уничтожен или пока не будет вызвана неконстантная функция-элемент (например, оператор присваивания копированием) для объекта исключения.
Примечание
Реализации могут, но не обязаны переопределять what()
.
Унаследован от std::exception
Функции-элементы
[virtual] | уничтожает объект исключения (virtual public of std::exception функция-элемент) |
[virtual] | возвращает поясняющую строку (virtual public of std::exception функция-элемент) |