Standard Exception

标准异常类的继承体系

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

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

异常类头文件

详细阐述待定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 2,031评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 把当前目录作为Root Document只需要这条命令即可:php -S localhost:3300 也可以指定...
    绚烂的时光阅读 747评论 0 1
  • 目前已转至个人博客,本系列地址:Lam's Blog - Knowledge as Action UWF_NULL...
    格子林ll阅读 30,796评论 0 2