Trying to pass/ignore an Error in a loop.

I have a loop that check the best parametrers in many timeseries, but there are some of them where Matlab cannot check, so the loop is stopping. In those cases i just want the loop to continue, ignoring the error. I am thinking "for i=1:1000 ... if find an error go to i+1 " but there is something like this??
Thanks!

 Accepted Answer

Wayne King
Wayne King on 7 Apr 2013
Edited: Wayne King on 7 Apr 2013
Without more detail, I don't know if this will work in your scenario, but one possibility is a try block
x = randn(3,2);
y = randn(3,2);
try
z = x*y;
catch ME
z = x.*y;
end
If an error occurs in the catch end block, then the execution will stop unless you catch that error with a try -- catch

4 Comments

Indeed, extra example below. The second run normally would stop the script when trying to access y(-2). Now it continues.
x = [1,-2,3];
y = [4,5,6];
for p = 1:3
try
disp(y(x(p)));
catch error
end
end
I have read this, in help documenattion. The clue is if matlab finds an error in try block to continue in catch block. Right?
ok ok, i understand. I ll try this later, because now its still running, until it finds an error again! Thanks for your time!
its working! for k=1:100 try .... catch error end end
%%and the loop continues ignoring the error thanks!

Sign in to comment.

More Answers (0)

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!