フィルターのクリア

store which iterations that the error took place

7 ビュー (過去 30 日間)
JL
JL 2019 年 8 月 29 日
コメント済み: JL 2019 年 8 月 30 日
Hi everyone, I've been using try,catch and continue in my loop for any error. I was wondering is there any code that captures which iteration that error took place in the loop? so far I've put catch ME; disp(iter) to show me which iterations it is that the error took place but I can't capture them

採用された回答

Adam Danz
Adam Danz 2019 年 8 月 29 日
編集済み: Adam Danz 2019 年 8 月 29 日
You could customize your own error message by basing it on the actual error message and appending the iteration number.
for i =1: 10
try
% [code that you don't trust :D]
catch ME
fprintf('%s Iteration #%d.\n', ME.message,i) %display error msg & iteration #
% or
error('%s Iteration #%d.', ME.message,i) %this will break the code
end
end
  4 件のコメント
Adam Danz
Adam Danz 2019 年 8 月 30 日
badIterations = [];
for i =1: 10
try
% [code that you don't trust :D]
catch ME
badIterations(end+1) = i;
end
end
JL
JL 2019 年 8 月 30 日
Thanks Adam!

サインインしてコメントする。

その他の回答 (1 件)

KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 8 月 29 日
編集済み: KALYAN ACHARJYA 2019 年 8 月 29 日
l=1;
error_iter=[];
for i=1:iter
% do operation
if error %error condition
error_iter(l)=iter
l=l+1;
end
end
error_iter
  1 件のコメント
JL
JL 2019 年 8 月 30 日
Thanks but It can't seem to work. I want to store each iterations value into a maxtrix

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by