Standard Exception

2017-01-28  本文已影响0人  龙遁流
标准异常类的继承体系

Exception Classes for Language Support

bad_cast,定义在<typeinfo>,当执行一个dynamic_cast操作,但是出现类型转换运行时错误时抛出。

bad_typeid,定义在<typeinfo>,当传递给typeid参数为0或空指针抛出。

bad_exception,定义在<exception>,用来处理非期望的异常,可被unexception()抛出

Exception Classes for Logic Errors

定义在<stdexcept>

invalid_argument,length_error,out_of_range,domain_error

future_error异步系统调用发生逻辑错误,定义在<future>

Exception Classes for Runtime Errors

range_error,比如在标准库中在宽字符串和字节字符串之间转换

overflow_error,算数运算中出现上溢错误,比如bitset到整型的转换

underflow_error,算数运算下溢错误

system_error,系统相关,比如线程类,控制数据竞争的类,和async()抛出的错误

bad_alloc,定义在<new>,当使用new操作符出错抛出,除了nothrow的new

bad_array_new_length,传递给new的大小小于0或超出了可实现的上限

bad_weak_ptr,定义在<memory>,当从一个shared pointer创建一个weak pointer失败了抛出

bad_function_call,定义在<functional>

ios_base::failure,定义在<ios>,当一个流由于出错或到达文件尾时改变状态

Exceptions Thrown by the Standard Library

理论上任何以上异常都有可能抛出。

异常类头文件

详细阐述待定

上一篇 下一篇

猜你喜欢

热点阅读