gpt4 book ai didi

c++ - 我应该什么时候返回 EXIT_SUCCESS 什么时候返回 EXIT_FAILURE?解压成功是什么意思?

转载 作者:行者123 更新时间:2023-11-30 02:47:14 27 4
gpt4 key购买 nike

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com