我目前正在调试嵌套的try-catch语句代码。
我可以使用dbstop
命令轻松处理错误,但每次查看代码并想要停止程序运行时,我都必须为每个嵌套级别输入一次dbquit
。
由于这非常烦人,我正在寻找一种解决方案,以便在完成调试后真正停止调试所有程序。
以下是我调用代码的示例:
dbstop if error
dbstop if caught error
mytestmain
以下是一个函数示例,其中子函数可以在不同的 .m 文件中:
function mytestmain
try
mytestsub
catch
end
%% Definition of subfunction
function mytestsub
try
a=b;%generate an error as b is not defined
catch
end
我尝试了什么?
- 我尝试使用一个调用
dbquit
两次的脚本或函数,但这只会执行一次dbquit
。 - 我尝试使用
dbquit('all')
,但没有效果。
请注意,我不希望在代码中删除try-catch语句。
dbquit
都应该让您完全退出调试器和代码执行。我经常在深度嵌套的try/catch中使用它。您正在运行哪个版本的Matlab? - Andrew Janke