MATLAB ファイルでエラーが発生した際の処理を指定して実行させることができますか?
27 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 25 日
回答済み: MathWorks Support Team
2013 年 10 月 25 日
MATLAB ファイル内で発生するエラーや警告が発生した際の処理を指定して実行させることができますか?
採用された回答
MathWorks Support Team
2013 年 10 月 25 日
try / catch 構文を利用することで、エラーが発生した際の処理を指定して実行させることができます。
try-catch 間には、実際に実行したい処理内容を記述します。また、catch-end 間には、try-catch 間でエラーが起こった場合に実行したい処理内容を記述しておきます。
また、try/catch 構文では、try-catch 間でエラーが起きても、自動的にはエラーメッセージが出力されないことに注意してください。エラー、ワーニングメッセージを取り出すには、以下のような関数を用います。
lasterror エラーメッセージとエラー識別子の出力
lastwarn ワーニングメッセージの出力
rethrow エラーの再発行
try/catch 構文を利用した MATLA ファイル例は以下になります。
clear all
try
x = 5;
y = x + a;
catch
msg = lasterr
a = 10;
y = x + a;
end
このプログラムは、try-catch 間に、未定義の変数 a があるため、エラーが発生します。しかし、エラーが発生しても、catch-end 間のコマンドが実行されますので、a に値が代入され、プログラムを最後まで実行することができます。
また、lasterr コマンドにより、発生したエラーメッセージが変数 msg として定義され、コマンドウィンドウに表示されるようにしています。
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!