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!