浅谈C++ 标准库中的异常 —— stdexcept类

定义了一些标准的异常类。分为两大类:逻辑错误和运行时错误。其中运行时错误是程序员不能控制的。


目录:

 

  • logic_error
  • runtime_error
  • throw
  • try catch

 

logic_error

逻辑错误都继承自logic_error

这里写图片描述

logic_error描述
domain_error域错误
invalid_argument非法参数
length_error通常是创建对象是给出的尺寸太大
out_of_range访问超界
future_error未知错误

runtime_error

运行时错误都继承自runtime_error

这里写图片描述

runtime_error描述
range_error边界错误
overflow_error上溢
underflow_error下溢
system_error系统错误

throw

使用throw抛出异常。

void my_stdexcept(int val)
{if (val < 0){throw std::invalid_argument("invalid argument");}else{printf("test success.\n");}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

try catch

try函数体中,将对可能出现的异常进行捕获。catch中对捕获后的异常进一步处理。

int main(int argc, char* argv[])
{try{my_stdexcept(-1);}catch (std::exception ex){printf("exception:%s\n", ex.what());}return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部