for loop 実行中のエラー処理について

for i = 1:5
for loop 実行中に i = 2 でエラーが発生した場合、 i = 2 はエラーということで処理し、
i = 3 やその後も実行を継続していくためにはどうすればよいですか。

 採用された回答

Kojiro Saito
Kojiro Saito 2022 年 10 月 27 日

0 投票

for文の中の処理をtry とcatch でくくれば可能です。
tryの中でエラーになっても処理が中断せず、catchの中でエラー処理をハンドルできます。
for n=1:5
try
disp(n)
if n==2
surf %入力引数無しでエラーとなる
end
catch ME
disp(ME) % Exceptionを表示
end
end
1 2
MException with properties: identifier: 'MATLAB:narginchk:notEnoughInputs' message: 'Not enough input arguments.' cause: {} stack: [4×1 struct] Correction: []
3 4 5

1 件のコメント

雅晶
雅晶 2022 年 11 月 1 日
解決しました。ありがとうございます。

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchangeループと条件付きステートメント についてさらに検索

製品

リリース

R2022b

タグ

質問済み:

2022 年 10 月 27 日

コメント済み:

2022 年 11 月 1 日

Community Treasure Hunt

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

Start Hunting!