class
<typeinfo>
std::bad_typeid
Exception thrown on typeid of null pointer
Type of the exceptions thrown by typeid when applied on a pointer to a polymorphic type which has a null pointer value.
Its member what returns a null-terminated character sequence identifying the exception.
Example
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | // bad_typeid example
#include <iostream>       // std::cout
#include <typeinfo>       // operator typeid, std::bad_typeid
class Polymorphic {virtual void Member(){}};
int main () {
  try
  {
    Polymorphic * pb = 0;
	std::cout << typeid(*pb).name();
  }
  catch (std::bad_typeid& bt)
  {
    std::cerr << "bad_typeid caught: " << bt.what() << '\n';
  }
  return 0;
}
 |  | 
Possible output:
| 
bad_typeid caught: St10bad_typeid
 | 
Exception safety
No-throw guarantee: no members throw exceptions.
See also
- type_info
- Type information type (class
)
- exception
- Standard exception class (class
)