私はいくつかの初期化を行い、それぞれがエラーコードを返す他の関数を呼び出します。この私の会社で最初に検出されたエラーの後にエラーコードを返します
int error_code = FirstFunction();
if (error_code != 0) {
return error_code;
}
error_code = SecondFunction();
if (error_code != 0) {
return error_code;
}
// etc...
しかし、だけでなく、これはかなり面倒を見ない、それはまた、複数のreturn文を持ち、コンプライアンス上の理由:私はこのような最初に検出されたエラーの後に、この関数から戻ることができるようにしたいです許可されていません。
returnステートメントは1つだけですが、最初のエラーコードの後でも停止するように、これを並べ替える方法はありますか?
int error_code = FirstFunction();
if (error_code == 0) {
error_code = SecondFunction();
if (error_code == 0) {
error_code = ThirdFunction();
// etc...
}
}
return error_code;
しかし、これはかなり速い不合理得ることができます:私は考えることができる唯一の方法は、if文を入れ子になったんです。これを行う別の方法がありますか?
EDIT:私のプログラムでは、0の戻りコードが成功(OK)とゼロ以外の手段失敗/エラー(OK、NOT)を意味
だから、それが '1'の時にあなたは戻ってくるだろう? – coderredoc
0以外のものはエラーなし、0以外のエラーはエラー –
「error_code」のタイプを投稿します。 – chux