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 より前に導入
参考
rethrow
| throwAsCaller
| throw
| assert
| error
| MException
| try, catch