1

我正在编写一个类,它的函数可以返回多种不同类型的错误,具体取决于函数停止工作的点。就目前而言,我对如何做到这一点没有正式的想法,但我看到了类似的东西:

bool thisFunctionReturnsError(type param1, type param2, returntype& return)

这是可行的,如果发生错误,它将返回真/假,否则将在返回变量中返回一个有效的“returntype”供程序员使用。但我的问题是 - 这是最佳做法吗?

我找到了以下主题,但它与 C 有关。我很好奇 C++ 是否有更好的方法来做到这一点,不涉及异常(因为它们不是标准的)。

当我已经返回一个值时,从函数返回错误的最佳方法是什么?

有人可以给我一些建议吗?谢谢!

4

1 回答 1

1

从技术上讲,如果错误是在正常操作中不应该发生的,这就是 C++ 期望您使用异常的原因,并且它们与 C++ 中的其他任何东西一样标准。

但是,如果错误可能是正常程序流程的一部分,或者由于性能异常而无法选择,则如果只需要失败/成功信息,请考虑返回 astd::pair或(C++14 或 boost)。std::optional

于 2013-08-10T21:19:41.100 回答