コマンドウィンドウ上​の直前エラーメッセー​ジの記録方法

コマンドウィンドウ上であるコードを入力してエラーが発生したらすぐにそれをテキストファイルに記録したいと考えているのですが、例えば以下の様に間違ったコードを打ち込んでしまった場合に、エラーメッセージの部分だけをテキストに出力する事は出来るのでしょうか?
>> disp('Hello
disp('Hello
エラー: 文字ベクトルの終端が正しくありません。
>>

 Accepted Answer

michio
michio on 18 Jul 2018

1 vote

diary 関数を使うと、コマンドウィンドウ出力をファイルに保存することができます。ただ、エラーメッセージだけでなく実行したコマンド自体も記録されてしまいます。 参考まで、どういった用途にエラーメッセージを記録されてようとしているのか、教えて頂けますか?

4 Comments

nobelnambu
nobelnambu on 18 Jul 2018
用途としては、作成したコードが意図せぬエラーで停止してしまった時にそのメッセージを簡単に記録できる仕組みを作りたいと考えております。diary関数は直前のメッセージにはアクセス出来なかった様に思いますが、その理解で正しいでしょうか?
michio
michio on 19 Jul 2018
diary関数は 'on' にしてから 'off' にするまでのコマンドウィンド出力を保存するものですので例えば、
diary on
(コード実行)
diary off
と実行することで、(コード実行)中の意図せぬエラーメッセージを記録できるかとは思います。
あとは try/catch の構文も使える可能性があるかなと考えています。
try
(コード実行)
catch ME
disp(ME.message)
end
と特定のコードを try/catch で囲んでおけば直前のエラーメッセージを ME.message で確認できます。いかがでしょう?
nobelnambu
nobelnambu on 21 Jul 2018
回答ありがとうございます。想定出来るエラーに関してはtry/catch文を利用しようと考えています。ただ、想定しきれないエラーも発生する可能性がある為コマンドウィンドウ上に表示されたエラーメッセージを取得できればと考えていました。少しこちらでも調べてみたのですが、その為には"lasterr"というコマンドが有用だと分かりました。
michio
michio on 21 Jul 2018
lasterr までは考えが至りませんでした。コメントありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 17 Jul 2018

Commented:

on 21 Jul 2018

Community Treasure Hunt

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

Start Hunting!