c++ - 在 C++ 中返回 int 进行错误检查是不是很糟糕
问题描述
在 C 中,许多函数如果需要让调用代码知道函数调用中是否出现问题,则返回 int。
C++ 有例外,它们做同样的事情,但被语言更正式。返回 int 的一个优点(或有时是缺点)是,当出现问题时,您不会强制调用代码进行处理,因此如果在上下文中无关紧要,它可以忽略警告
在 C++ 中返回一个 int 来表示出现问题是不好的做法。此外,如果这是不好的做法,还有什么更好的选择。
解决方案
在 C++ 中返回一个 int 来表示出现问题是不好的做法。此外,如果这是不好的做法,还有什么更好的选择。
是的,这是一种糟糕的做法。如果有错误,总是抛出异常。未经检查的错误是毫无意义的错误来源,它们在某些语言结构(如构造函数)中工作得非常糟糕,并且很难在通用代码中进行推理。
如果操作成功但有一些警告,您可以考虑使用枚举(不是 int!)作为警告,尽管通常此类操作会返回多个警告。
推荐阅读
- c# - C# SendInput() 在控制台应用程序中总是返回 0
- c# - 下拉菜单始终处于活动状态并显示
- c++ - 'listNode 结构的初始化没有匹配的构造函数
- javascript - Browsersync + gulp-watch 不工作
- php - yum 安装 mcrypt 错误
- linux - 使用 sed 将大写替换为小写,空格来下划线,然后创建一个带有结果的 xml 文件
- safari - 在 Safari 11.1.1 中使用 Angular 6.0.1 动画不改变状态,特别是试图改变底部属性
- php - Laravel 雄辩的关系返回没有时间戳
- ignite - 点燃客户端 mvn 工件的目的?
- laravel - Eloquent ORM 在急切加载时是否存在实际限制?