我一直在看,但我认为它不存在。 返回基本上强制关闭你的函数,这很好,但在我当前的脚本中,我想如果它做错了什么,而是返回到它所在的子函数的开头。
是否有任何功能已经存在,或者我是否必须制作一个系统才能让自己这样做?
答案 0 :(得分:1)
当某些内容“执行不正确”时,不使用return
,error
,而是在while
循环中使用try
/catch
:
while 1
try
myFunction();
break; % if myFunction() was successful, this will exit the while loop
catch
% do some sort of processing here, then go back to the while loop
end
end
catch
/ try
块的catch
部分仅在myFunction()
出错时才会执行。 return
意味着函数成功(无论它是否给出正确的输出完全是另一个问题)。
或者,您可以按照@natan的建议将函数放在while
循环中。返回某种错误代码,然后检查while
条件中的错误代码。
答案 1 :(得分:0)
当你想重启函数时,只需使用while 1
循环来包围整个函数和continue
。
答案 2 :(得分:0)
如果你不是在寻找错误处理,而只是寻找结果处理
,我会怎么做finishedSuccesfully = false
while ~finishedSuccesfully
output = myFunction();
finishedSuccesfully = evaluateoutput(output);
end