如何从C ++中的main函数返回错误代码?

时间:2015-11-12 13:59:46

标签: c++ error-handling

我正在开发一个面向对象的C ++课程,我需要从main函数返回错误代码。如何正确地做到这一点?

不幸的是,这是一个评估过的课程,所以我不能在这里发布我的代码。但是,让我们说案件如下:

我正在使用Plugboard,Reflector和Rotor类构建一个enigma机器。我在命令行中将每个配置文件作为参数传递。在此任务中,我提供了一个包含以下内容的文件errors.h:

#define INSUFFICIENT_NUMBER_OF_PARAMETERS       1
#define INVALID_INPUT_CHARACTER                 2
#define INVALID_INDEX                           3
// and so on...

所以我在我的程序中有几个函数来检查错误,例如检查配置文件是否包含无效字符的函数(它必须是0到25)。我想把它设置为布尔函数,然后在我的main函数中有以下内容:

if (!plugboard.check_invalid_character(/*some arguments*/)) {
   cerr << "Invalid character!" << endl;
   return 2;
}

但我不完全确定这是正确的做法吗?这太肤浅了吗?是否有更优雅的方式返回错误?

我希望这次我的问题更清楚一些。谢谢。

1 个答案:

答案 0 :(得分:3)

您只需要在main方法中返回值4,如下所示:

int main() {
    return 4;
}

请注意,你的main函数也可能有参数vector和参数count,因此括号中可能会有更多。

如果KLibby是正确的,你使用一个方法返回你需要使用的值:

int doSomething() {
    return 4;
}

int main() {
    return doSomething();
}