c++ 异常处理与错误号之间的选择

 今天新项目设计讨论时涉及到了错误处理的情况,今天又看了看《c++编程规范》对错误处理有所感:

结论:优先使用异常而不是错误号处理错误。

异常与错误号对比:

1)使用错误号的代码繁琐,要想写出健壮的程序,应该随时注意进行错误的检查,此时使用错误号比较麻烦。

而使用异常则可以将容易出现错误的代码写到 try{}中即可。

2)使用错误号容易忽略对错误的处理,因为代码默认是忽略错误返回值的。而异常除非显式捕获才能忽略或者淹没。

3)使用错误号有时难以发现错误,如一些API的执行。

4)错误号不是扩作用域传播的,要想知道底层的错误,必须由底层主动的抛出错误编号。而异常则是自动跨域传播的。

5)在处理错误时,使用错误号会使错误的处理遍布于程序之中,而使用异常则会使错误的处理集中于Catch(){}中,这样会使程序变得优雅。(挺好!)

6)在构造函数中,无法使用错误号。因为构造函数没有返回值。其次,对于某些操作符的重载也不易用错误号,因为他们的返回值是具有特殊意义的。

当然错误号也有自己适合的地方,以后补充!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值