当发生错误并且必须终止处理时,我应该使用哪个,exit或return?
两者似乎都没有任何变化地完成了这个过程。
本来也不是特别在意区别,不过最近有机会用到,于是查了一下区别。
简单地说
exit:在被调用的地方退出
return:将返回值返回给调用函数,并在调用函数内终止
似乎还有更严格的区别,这次就这样记住吧。
当我实际运行代码时,我得到以下结果:
因为结束时间不同,执行结果也有差异。
function endTest(){
print "在end函数中。\n";
exit;
}
//-----------main-------------
endTest();
print "在main函数中。\n";
执行结果
在end函数中
由于 exit 立即结束,因此不会执行 main 中的 endTest() 。
function endTest(){
print "在end函数中。\n";
return;
}
//-----------main-------------
endTest();
print "在main函数中。\n";
执行结果
在end函数中。
在main函数中。
可以看到return 在 endTest() 之后执行。
那么,应该如何区分使用呢?
关键在于结束处理前是否需要结束准备。
最简单的是
main函数中包含exit,对其他函数进行return,返回main函数后结束处理。
return并不是马上就能结束的,所以要在返回时做好充分的准备。
如果结束的话即使发生了错误也可以放心。
评论列表:
发布于 4天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论