警告発生時,try/catchのような例外処理

18 ビュー (過去 30 日間)
Soichiro Nakano
Soichiro Nakano 2018 年 10 月 12 日
コメント済み: Soichiro Nakano 2018 年 10 月 17 日
try/catch~ ではエラー(プログラム停止相当)に対して,例外処理ができますが, 同様に警告(プログラム続行相当)に対して例外処理を行いたいときはどうすればよいのでしょうか.//(例えば,警告発生時,プログラムを停止する.)
  1 件のコメント
Hirokazu Tanaka
Hirokazu Tanaka 2018 年 10 月 13 日
勝手ながら sample.m の中身を下記に転記します。
result = 0;
%result = 2としたい
try
warning('warnig!!') %error('msg')ではない
result = 1
catch
result = 2
end

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

採用された回答

Hirokazu Tanaka
Hirokazu Tanaka 2018 年 10 月 13 日
"try catch warning MATLAB" で検索するとある程度ヒントになりそうなページが見つかりますが、
が参考になりそうです。自動翻訳機能で意味が取りにくいかもしれませんが、その場合は自動翻訳機能をオフにするか、元の言語を表示させてみてください。
try/catch ではないですが、Camさんの回答にある lastwarn を使った方法は面白いですね。参考まで転記します。
for ...
warning('') % Clear last warning message
... run code ...
[warnMsg, warnId] = lastwarn;
if ~isempty(warnMsg)
...react to warning...
end
end
  1 件のコメント
Soichiro Nakano
Soichiro Nakano 2018 年 10 月 17 日
ありがとうごさいます。確かにこれだと警告に対して分岐できますね。参考にさせていただきます。

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeデバッグと解析 についてさらに検索

Community Treasure Hunt

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

Start Hunting!