什么是bad_typeid异常?

当typeid运算符应用于多态类型的已取消引用的空指针值时,将引发此类型的异常。

继承关系:

class bad_typeid : public exception

例子:

//expre_bad_typeid.cpp//compile with: /EHsc /GR
#include <typeinfo>#include<iostream>

classA{public://object for class needs vtable//for RTTI
   virtual ~A();
};
using namespacestd;intmain() {
A
* a =NULL;try{
cout
<< typeid(*a).name() << endl; //Error condition }catch(bad_typeid){
cout
<< "Object is NULL" <<endl;
}
}

标签: none

添加新评论