标准异常类别:
语言本身或标准程序库所抛出的异常,都派生自基类,exception。这是其他数个标准异常类的基类,他们共同构成一个类类体系,这些标准异常类别可分为三组:
1. 语言本身支持的异常
2. C++标准程序库发出的异常
3. 程序作用域(scope of a program)之外发出的异常。
如果有以下操作失败,会抛出一个异常:
1. 全局操作符new失败,抛出bad_alloc异常
2. 执行期间,当一个加诸于reference身上的“动态行呗转换操作”失败时,dynamic_cast 操作符会抛出bad_cast异常。
3. 执行期性别辨识(RTTI)过程中,如果交给typeid的参数为零或者空指针,typeid操作符会抛出一个bad_typeld异常
4. 如果发生非预期的异常,bad_exception异常会接受处理,方式如下:当函数抛出异常规格(exception specification)以外的异常,bad_exception就会调用unexpected()