How to keep a for loop going after error

29 views (last 30 days)
Joe
Joe on 27 Feb 2016
Commented: Joe on 6 Mar 2016
Hi,
I need to do a calculation that involves a for loop. In each iteration the for loop calls a function, and this function sometimes crashes. The fact that the function crashes sometimes it's expected and unavoidable.
The problem is that after the crash of the function, the for loop stops and I have to manually restart.
Is there a way to keep the for loop going after the error / crash (e.g. If the for loop needs to do 500 iterations and crashes in iteration 127, it just continues with iteration 128)

Accepted Answer

Stephen23
Stephen23 on 27 Feb 2016
Edited: Stephen23 on 27 Feb 2016
doc try
Simply put in a try:
for k = 1:N
try
... code that might cause an error
catch % optional!
... optional code to run if above code fails
end
end
  2 Comments
Image Analyst
Image Analyst on 27 Feb 2016
Exactly what I was going to say (so you earned a "vote" from me). Note that if you don't want to do anything, you can just put "continue" in the catch block to skip to the bottom of the for loop, or you can leave it totally empty (no lines at all in the catch block) in which case it will carry on with the for loop's code immediately after the "end" statement of the try/catch block.
Joe
Joe on 6 Mar 2016
Thanks both, works very well!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!