快速提问.. 是否有一种“正确”的方法可以在无效输入时终止 C/C++ 程序?到目前为止,我在 C/C++ 的职业生涯涉及做这样的事情:
// C
#include <stdio.h>
int main(int argc, char **argv)
{
if (argc != 3) {
fprintf(stderr, "Error: Usage: %s [some param] [some param]\n", argv[0]);
return 1;
}
/* rest of program */
return 0;
}
在 C++ 中,它可以是 cerr
而不是 fprintf(srderr...)
和 iostream
而不是 stdio.h
。
这是一种可行/可接受的方式,还是存在我不知道的标准?
谢谢!
最佳答案
基本约定是返回一个非零 值以指示退出时的某些错误情况。返回值零 用于指示程序正常终止。
没有什么可以阻止您提出非零值列表并将它们与特定错误条件相关联,以便可以根据退出值识别特定错误。
例如,如果一个 shell 程序正在运行您的程序,那么它可以通过检查退出值来采取适当的操作。 stderr 的错误消息对我们很有用,但退出值可以编程方式使用并提供额外的灵 active 。
通常保留值 0 - 127 供您使用,其余供系统根据 Job crashes and exit codes 使用
关于c++ - "Proper"错误输入/行为时退出 C/C++ 程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10973113/