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

TL 论坛上关于C++的错误处理的讨论

2010-03-20 09:23 351 查看
TL论坛
总算
回归一些实质性的贴子了。关于C++的错误处理,一直都是一个很有争议性的问题。一些C++大师在教科书上劝说大家应该用异常Exception在错误处
理上。但是,很多实际工作的朋友,甚至Google公司都提倡“We do not use C++ Exception”(http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Exceptions
).

那么到底谁对谁错,又变成TL上一个激烈的争论问题了。相对于MITBBS上那些无聊的大妈出轨帖子,我还是愿意和国内的朋友们混在TL这个小圈子论坛。

其实pongba兄在很在以前就写过关于C++的错误处理问题《错误处理
(Error-Handling)

为何、何时、如何

(rev#2)
》(http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx
)。
文章是比较支持C++的Exception。如果使用try,catch的确能够让代码逻辑流程更加清晰,不用夹杂太多的if,else的
errorcode判定。但是,TL论坛也有不少朋友提出,C++ Compiler不强制外部函数capture调用函数的异常

在实际的工作做,就需要开发人员的自律。特别是不同团队开发的模块,如果对方在自己的函数里面定义各种不同的Exception,而在函数
declaration又不写完整,外部人员怎么知道该去capture那些Error呢?Java和C#的编译器会强制调用函数的去处理内部函数可能抛
出的异常,而C++不强制这点。别人不可能用深度优先遍历去看你的代码,看你会抛出那些exception。就如TL论坛的莫兄台说的,“在C++内部函
数随便抛异常,就跟随地大小便一样恶心”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: