首页 > 解决方案 > 在 C++ 中返回 int 进行错误检查是不是很糟糕

问题描述

在 C 中,许多函数如果需要让调用代码知道函数调用中是否出现问题,则返回 int。

C++ 有例外,它们做同样的事情,但被语言更正式。返回 int 的一个优点(或有时是缺点)是,当出现问题时,您不会强制调用代码进行处理,因此如果在上下文中无关紧要,它可以忽略警告

在 C++ 中返回一个 int 来表示出现问题是不好的做法。此外,如果这是不好的做法,还有什么更好的选择。

标签: c++error-handlingreturn

解决方案


在 C++ 中返回一个 int 来表示出现问题是不好的做法。此外,如果这是不好的做法,还有什么更好的选择。

是的,这是一种糟糕的做法。如果有错误,总是抛出异常。未经检查的错误是毫无意义的错误来源,它们在某些语言结构(如构造函数)中工作得非常糟糕,并且很难在通用代码中进行推理。

如果操作成功但有一些警告,您可以考虑使用枚举(不是 int!)作为警告,尽管通常此类操作会返回多个警告。


推荐阅读