【发布时间】:2010-06-07 23:36:48
【问题描述】:
在进行 C++ 编程时,您有两种选择来报告错误。我想很多老师会建议你抛出一个异常,它是从 std::exception 派生的。另一种可能更“C”风格的方法是返回一个非零值,因为零是“ERROR_SUCCESS”。
确实,返回异常可以提供更多的错误信息和恢复信息;虽然代码会有点膨胀,但至少对我来说,在你的脑海中让异常安全有点困难。其他方式,如返回其他内容,将使报告错误更容易;缺点是管理恢复可能是一个大问题。
各位,作为优秀的程序员,不考虑你老板的意见,你更喜欢哪一个?对我来说,我想返回一些非零值。
【问题讨论】:
-
异常使代码膨胀?我认为在每次函数调用后检查非零返回值比在某个战略位置进行尝试捕获要多得多。
-
是的,异常会使代码膨胀。至少谷歌google-styleguide.googlecode.com/svn/trunk/… 的人是这样认为的,请转到例外部分