脚本中调用的matlab函数是否会导致脚本中断?

脚本中调用的matlab函数是否会导致脚本中断?,matlab,function,return,break,Matlab,Function,Return,Break,我正在运行一个调用函数的脚本,如果函数中满足某个条件,我希望整个过程终止(我不是说我想使用退出关闭matlab)。可能吗?我知道我可以使用return或break返回脚本,但是如果满足此条件,我希望脚本也停止。我知道的唯一执行此操作的函数是error。这会引发异常,如果调用脚本中未安装带有try和catch的异常处理程序,则将终止并返回到命令提示符。据我所知,这正是你想要的。但它会打印一条错误消息。如果使用try-catch处理程序保护顶级脚本中的所有代码,则可能会抑制这种情况。但是,这必须是特

我正在运行一个调用函数的脚本,如果函数中满足某个条件,我希望整个过程终止(我不是说我想使用
退出
关闭matlab)。可能吗?我知道我可以使用
return
break
返回脚本,但是如果满足此条件,我希望脚本也停止。

我知道的唯一执行此操作的函数是
error
。这会引发异常,如果调用脚本中未安装带有
try
catch
的异常处理程序,则将终止并返回到命令提示符。据我所知,这正是你想要的。但它会打印一条错误消息。如果使用try-catch处理程序保护顶级脚本中的所有代码,则可能会抑制这种情况。但是,这必须是特定于一个错误的,这使得调试(“错误时停止”)更加困难

问题是,我看到的这种行为(在特定事件上终止整个程序)的唯一用例是发生不可恢复的错误,在这种情况下,打印错误消息确实是合适的


如果脚本被成功终止,整个程序就不是真正正确的方式。所有函数都应该返回给代码的上层以执行一些清理操作,比如保存输出数据等等。

查看
error
您可以随时检查函数的输出,并确定函数是否已运行到结束或在执行过程中返回。您还可以指定一个输出变量,专门用于在某一行返回,并检查主脚本中的变量,以使用
return
关键字停止脚本。@Adriaan:hmm,但不在同一脚本中。打印错误后,所有内容都被终止。我不明白这是怎么回事。@CrisLuengo:是的,但调试器会在每个异常时停止,也就是那些通常被
try
catch
隐藏的异常。通常,您会得到大量的点击,例如,从MATLAB内部代码,但在调试GUI代码时也会遇到。我用过几次,但尽量避免。