我有一个函数,该函数执行一些初始化并调用其他函数,每个函数返回一个错误代码。我希望能够在这样的第一个检测到错误后从此函数返回:
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)
您不必嵌套所有函数调用,下面的代码也可以完成工作,并且应符合您的代码编写规则:
error_code = FirstFunction();
if (error_code == 0) {
error_code = SecondFunction();
}
if (error_code == 0) {
error_code = ThirdFunction();
}
// etc...
return error_code;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句