您的位置:首页 > 编程语言 > C语言/C++

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

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

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

异常与错误号对比:

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

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

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

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

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

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

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

当然错误号也有自己适合的地方,以后补充!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 编程 api
相关文章推荐