How to keep a for loop going after error

36 Ansichten (letzte 30 Tage)
Joe
Joe am 27 Feb. 2016
Kommentiert: Joe am 6 Mär. 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)

Akzeptierte Antwort

Stephen23
Stephen23 am 27 Feb. 2016
Bearbeitet: Stephen23 am 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 Kommentare
Image Analyst
Image Analyst am 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 am 6 Mär. 2016
Thanks both, works very well!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by