- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 C++ 应用程序的主函数中,我应该何时返回 EXIT_SUCCESS 以及何时返回 EXIT_FAILURE?解压成功是什么意思?举几个例子:
用户忘记了一些必需的命令行参数,我们捕获它,打印帮助并退出(我会在这里返回 EXIT_SUCCESS)
我们读取了一个配置文件,其中有一些语法错误或找不到其中给定的文件,因此我们的读取配置函数抛出异常,我们在 main 中捕获它并退出(我是不确定在这里返回什么)
对于这些示例中的许多,程序按预期运行,它具有正确的行为,因此它是返回 EXIT_SUCCESS 的情况。然而,程序没有完成它的主要操作,它的主要目的是正确的,因为途中发生错误,所以这就是 EXIT_FAILURE。
我也在考虑,用户可能会从 bash 脚本(或从 Matlab 或其他任何东西)运行程序,并且可能对其返回值感兴趣以了解它是否完成了操作。这意味着我们必须在上述所有情况下返回 EXIT_FAILURE。
此处的最佳做法是什么?
最佳答案
这些程序的返回值使得它们可以在脚本(或序列)中执行,并且错误条件可以被脚本捕获(因为脚本不会监视 stdout/stderr 以获取文本输出),然后可以采取行动继续、中止或尝试纠正这种情况。
因此,任何异常终止都是失败条件。如果您没有传递正确的参数,那么程序会发出帮助文本,它会异常终止,因为程序遇到了错误条件(它不知道该怎么做)。如果配置不正确,则为错误,因此异常终止。
基本上,如果程序没有实现其实际目的,它就不算成功。
关于c++ - 我应该什么时候返回 EXIT_SUCCESS 什么时候返回 EXIT_FAILURE?解压成功是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879499/
我是一名优秀的程序员,十分优秀!