c++ - 在 C++ 中返回 int 进行错误检查是不是很糟糕

标签 c++ error-handling return

<分区>

在 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/

相关文章:

c++ - extern "C"拆解导致奇怪的链接器错误

c++ - static_cast<T* volatile*> - 这段代码是什么意思?

c# - 捕捉 Global.asax 中的错误

SQL Server 性能结果集与输出参数与返回值

c++ - 如何通过蓝牙从 iPhone/iPod Touch 向 Windows C++ 应用程序发送流数据?

c++ - 使用 Qt Table View 显示大数据

c# - 自定义错误 MVC 5

swift - 如何将 `do-try-catch` 控件添加到下面的这个函数中?

java - 没有任何数据类型的返回意味着什么?

java - 如何从 for 循环内部返回变量