<分区>
在 C 中,如果需要让调用代码知道函数调用是否出错,许多函数会返回 int。
C++ 有异常,它们做同样的事情,但被语言更形式化了。返回 int 的一个优点(有时是缺点)是您不会强制调用代码在出现问题时进行处理,因此如果它在上下文中无关紧要,它可以忽略警告
在 C++ 中返回 int 以指示出现问题是否是一种不好的做法。此外,如果这是不好的做法,还有什么更好的选择。
<分区>
在 C 中,如果需要让调用代码知道函数调用是否出错,许多函数会返回 int。
C++ 有异常,它们做同样的事情,但被语言更形式化了。返回 int 的一个优点(有时是缺点)是您不会强制调用代码在出现问题时进行处理,因此如果它在上下文中无关紧要,它可以忽略警告
在 C++ 中返回 int 以指示出现问题是否是一种不好的做法。此外,如果这是不好的做法,还有什么更好的选择。
最佳答案
Is it bad practice in C++ to return an int to indicate that something has gone wrong. Additionally, if it is bad practice what are better alternatives.
是的,这是糟糕的做法。如果有错误,总是抛出异常。未经检查的错误是毫无意义的错误来源,它们在某些语言结构(如构造函数)中的工作效果非常差,而且它们很难在通用代码中进行推理。
如果操作成功但有一些警告,您可以考虑使用枚举(而不是 int!)作为警告,尽管通常此类操作会返回多个警告。
关于c++ - 在 C++ 中返回 int 进行错误检查是不是很糟糕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572128/