Descripción
Lanza una excepción en typeid de punto nulo.
Declaración
A continuación se muestra la declaración de std :: bad_typeid.
C ++ 98
class bad_typeid;
C ++ 11
class bad_typeid;
Parámetros
ninguna
Valor devuelto
ninguna
Excepciones
No-throw guarantee - esta función miembro nunca arroja excepciones.
Carreras de datos
Se modifica el objeto de configuración regional.
Ejemplo
En el siguiente ejemplo para std :: bad_typeid.
#include <iostream>
#include <typeinfo>
struct S {
virtual void f();
};
int main() {
S* p = nullptr;
try {
std::cout << typeid(*p).name() << '\n';
} catch(const std::bad_typeid& e) {
std::cout << e.what() << '\n';
}
}
La salida debería ser así:
Attempted a typeid of NULL pointer!