一般来说,我有一些函数step1 step2......并且它们被依次调用:
int main()
{
...
step1(); // something wrong detected and need to break out of the whole program
step2();
step3();
...
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱step1并跳过所有其余代码来终止main()函数?
目前我只能想到设置一个全局变量,比如bool isErr一个标志,这样
step1(); // error detected and isErr is set to 1 inside step1()
if (isErr)
return;
step2();
...
Run Code Online (Sandbox Code Playgroud)
是否有更好或更“规范”的方法?
顺便说一句,我听说这goto很糟糕,所以我放弃了它:)
使用
exit(1);
Run Code Online (Sandbox Code Playgroud)
该数字表示退出状态。0 表示没有失败,所有大于 0 的值都表示有错误。