Main Content

MException.last

最新のキャッチされていない例外を返す

説明

exception = MException.last は、最後にスローされた、キャッチされていない MException オブジェクトの内容を返します。最新の例外が try/catch ステートメントによってキャッチされている場合、MException.last は設定されません。MException.last は静的関数です。

MException.last('reset') は、MException.last から返された例外のプロパティを消去します。MExceptionidentifier プロパティと message プロパティを空の文字ベクトルに、stack プロパティを 0 行 1 列の構造体に、cause プロパティを空の cell 配列に設定します。

すべて折りたたむ

MATLAB® に例外をスローさせますが、キャッチしないようにします。

A = 25;
A(2)
Index exceeds matrix dimensions.

キャッチされていない例外を取得します。

exception = MException.last
exception = 

  MException with properties:

    identifier: 'MATLAB:badsubscript'
       message: 'Index exceeds matrix dimensions.'
         cause: {}
         stack: [0x1 struct]

入力引数なしで関数 surf を呼び出します。

surf
Error using surf (line 49)
Not enough input arguments.

キャッチされていない例外を取得します。

exception = MException.last
exception = 

  MException with properties:

    identifier: 'MATLAB:narginchk:notEnoughInputs'
       message: 'Not enough input arguments.'
         cause: {}
         stack: [1x1 struct]

キャッチされていない最後の例外を取得します。

MException.last('reset')
exception = MException.last
exception = 

  MException with properties:

    identifier: ''
       message: ''
         cause: {0x1 cell}
         stack: [0x1 struct]

ヒント

  • 関数内ではなく、コマンド ウィンドウからのみ MException.last を使用します。

バージョン履歴

R2007b で導入