How to keep a for loop going after error

15 visualizaciones (últimos 30 días)
Joe
Joe el 27 de Feb. de 2016
Comentada: Joe el 6 de Mzo. de 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)

Respuesta aceptada

Stephen23
Stephen23 el 27 de Feb. de 2016
Editada: Stephen23 el 27 de Feb. de 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 comentarios
Image Analyst
Image Analyst el 27 de Feb. de 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 el 6 de Mzo. de 2016
Thanks both, works very well!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by