Main Content

rethrow

エラーの再発行

メモ

Version 7.5 では、MATLAB® は、MException クラスに基づいたエラー処理をサポートします。このページで説明されている、構造体引数を指定した関数 rethrow の呼び出しは、関数 rethrow のリファレンス ページで説明されている MException オブジェクトを指定した rethrow の呼び出しに置き換えられました。構造体入力を使用する関数 rethrow の呼び出しは、今後のバージョンでは削除されます。

構文

rethrow(errorStruct)

説明

rethrow(errorStruct) は、errorStruct で指定されたエラーを再スローします。現在実行している関数は終了し、コントロールをキーボード (または catch ブロック内) に返します。errorStruct 引数は、少なくとも message および identifier フィールドを含んでいる MATLAB 構造体であることが必要です。

フィールド名

説明

message

エラー メッセージのテキスト

identifier

エラーの識別子

stack

プログラム スタックからのエラー情報

エラー識別子の詳細については、MException を参照してください。

rethrow は通常 try, catch ステートメントと共に使用し、catch に関連した操作を実行した後、catch ブロックからエラーを再スローします。以下に例を示します。

try
   do_something
catch
   do_cleanup
   rethrow(previous_error)
end

ヒント

errorStruct 入力には、dbstack コマンドの出力書式と同じ stack フィールドを含めることができます。stack フィールドが存在する場合、再スロー エラーのスタックは、その値に設定されます。そうでない場合、スタックは再スローが発生した行に設定されます。

拡張機能

バージョン履歴

R2006a より前に導入