在进行C ++编程时,您有两种报告错误的选择。我想很多老师会建议你抛出一个异常,它是从std :: exception派生的。另一种可能更“C”形式的方法是返回非零值,因为零是“ERROR_SUCCESS”。
确切地说,返回异常可以提供更多错误和恢复信息;虽然代码会膨胀一点,但在你的脑海中保持异常安全对我来说有点困难,至少。其他方式,如返回其他内容,将使报告错误更容易;缺点是管理恢复将是一个可能很大的问题。
所以人们,作为优秀的程序员,这是你的偏好,不考虑老板的意见?对我来说,我想返回一些非零值。
答案 0 :(得分:6)
从C++ FAQ:使用例外进行错误。
我认为这背后的逻辑是,使用返回代码,由代码的调用者负责检查返回代码以处理错误。然后,这允许您的代码的用户可能陷入糟糕的境地。另一方面,例外情况必须处理,或者它们在调用堆栈中冒泡直到它终止程序。
在我看来,如果你正在编写C ++(并且希望遵守C ++惯用法),并希望使用错误处理,那么就可以使用异常了。
答案 1 :(得分:1)
您可能会发现Exception handling seems to make my life more difficult; clearly I'm not the problem, am I??值得一读。
答案 2 :(得分:1)
大多数情况下通过异常更容易处理错误。编写异常安全代码也很容易。我很懒。我采取简单的路线。