打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STL学习笔记
userphoto

2013.04.22

关注
  • 标准异常类

  •  

     

  • 为了语言支持而使用的异常类
    • bad_alloc :在new失败的时候,被抛出(除非使用nothrow版本的new)
    • bad_cast  :在使用dynamic_cast转换“引用类型”失败的时候抛出
    • bad_typeid:如果传给typeid操作符的是0或者空指针时抛出
    • bad_exception:用来处理未期望的异常出现的情况,使用unexpected()函数进行相应。当函数抛出其异常声明类表中未声明的异常类型时unexpected()函数会被调用
  • 为了标准库使用的异常类

    这些异常类,基本上都是从logic_error继承而来的,理论上讲,这些异常都能够在一定程度上被避免。

    • invalid_argument无效的参数
    • length_error 长度错误,例如向字符串添加了太多的字符
    • out_of_range 超出边界,例如:访问随机访问对象时索引超出最大size
    • domain_error域名错误
    • ios_base::failure专门用于I/O的问题,例如:当一个流因为错误或者文件结尾而改变状态的时候
  • 编程范围之外的异常类
  • 这些类通常继承自runtime_error,例如:range_error,overflow_error,underflow_error

     

  • 标准库抛出的异常
  • 一般来说,标准库本身可能会抛出下面这几种异常range_error,out_of_range,invalid_argument。当然不排除某些库自己实现的其他异常。

     

     

  • 异常对应的头文件
  • <exception>             bad_exception,exception

    <new>                      bad_alloc

    <typeinfo>               bad_cast,bad_typeid

    <ios>                       ios_base::failure

    <stdexcept>             其他的异常类

     

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    【热】打开小程序,算一算2024你的财运
    c++标准库——错误和异常处理 - 闻道有先后
    C++中的异常类型大全
    C++编程思想,第十八章《RTTI运行时类型识别》
    C++ 异常机制(下)
    c++中的异常处理
    C++中的typeid关键字
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服