一般来说比较大的程序,对待错误处理有两种模式:
1. 返回错误码,基本上所有的程序都返回一个错误码(一般用int),来标识函数是否执行正确;然后函数调用者都要判断一下返回值是不是0(一般成功执行的标识)。理论上所有的函数调用都必须要判断一下这个返回值。所以,你懂得,程序里面就会有一堆的if…else… ,每个错误分支打印一条日志,再向上层返回错误码。
很麻烦,但是很多大公司的老项目(或者公司的老人们)都是使用这种模式……
2. 异常处理,函数调用不用再检查返回值,而且可以在很高层捕获异常,而不用每层都检查,向高层返回;而且可以根据不同的异常类型,进行不同的处理;比错误码方式灵活的多。
但是如果你忘记捕获异常了,那你就悲剧了,程序直接core了,这个是非常非常严重的线上问题,基本上kpi是扣定了。
这两种方法都有公司在用,我知道google,百度使用错误码,阿里云用异常处理。
google的编码规范对这个说的比较清楚,可以找一下规范看看。
c++异常处理的作用
最新推荐文章于 2024-07-24 19:18:02 发布