首次检测到错误后返回错误代码

克莱德幽灵

我有一个函数,该函数执行一些初始化并调用其他函数,每个函数返回一个错误代码。我希望能够在这样的第一个检测到错误后从此函数返回:

int error_code = FirstFunction();
if (error_code != 0) {
    return error_code;
}
error_code = SecondFunction();
if (error_code != 0) {
    return error_code;
}
// etc...

但是,这不仅看起来很麻烦,而且还具有多个退货声明,并且由于我公司的合规性原因,所以不允许这样做。

我该如何重新排列,以便只有一个return语句,但是在第一个错误代码之后仍然停止?我能想到的唯一方法是嵌套if语句:

int error_code = FirstFunction();
if (error_code == 0) {
    error_code = SecondFunction();
    if (error_code == 0) {
        error_code = ThirdFunction();
        // etc...
    }
}
return error_code;

但这可能很快变得不合理。还有另一种方法吗?

编辑:在我的程序中,返回码0表示成功(OK),非零表示失败/错误(NOK OK)

贝诺瓦·马里考(Benoit Maricau)

您不必嵌套所有函数调用,下面的代码也可以完成工作,并且应符合您的代码编写规则:

error_code = FirstFunction();
if (error_code == 0) {
    error_code = SecondFunction();
}
if (error_code == 0) {
    error_code = ThirdFunction();
}
// etc...
return error_code;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章