bad_typeid Exception

Under some circumstances, the typeid operator throws a bad_typeid exception. The interface for bad_typeid is:

class bad_typeid : public logic {
public:
    bad_typeid(const char * what_arg) : logic(what_arg) {}
    void raise()    { handle_raise(); throw *this; }
    // virtual __exString what() const;    //inherited
};

See typeid Operator for more information.