Repeat Try/Catch loop?
显示 更早的评论
I have code that sometimes results in an error, and sometimes not. I'd like to have the code run, and then if an error occurs try again until there is no error. Could this be done using a try/catch loop? I.e. the catch statement would tell the program to repeat the try statements? I'm not sure how to implement this.
Thanks!
采纳的回答
更多回答(1 个)
Daniel Shub
2013-7-22
编辑:Daniel Shub
2013-7-22
You could do something like
function varargout = myfunc(varargin)
try
thingThatSometimesCrashes;
catch
[vargout{1:nargout}] = myfunc(varargin{:})
end
end
This is a recursive loop. If thingThatSometimesCrashes crashes too many times in a row, the function will exceed the recursion limit and still crash. You could instead do a loop with a flag
function varargout = myfunc(varargin)
myflag = true;
while myflag
try
thingThatSometimesCrashes;
myflag = false;
end
end
end
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!