主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

構文

説明

把(异常は,MExceptionオブジェクト异常に含まれている情報に基づいて例外をスローします。例外により現在実行している関数は終了して、制御をキーボードまたは囲んでいるブロックに返します。try / catchステートメントの外部から例外をスローする場合,MATLAB®はコマンドウィンドウにエラーメッセージを表示します。

関数throwAsCallerと関数重新抛出とは異なり,関数は,MATLABが関数を呼び出す場所からスタックトレースを作成します。

try / catchステートメントまたは関数MException.lastを介して,MExceptionオブジェクトにアクセスできます。

すべて折りたたむ

入力変数名がワークスペースにない場合に例外をスローします。

str =输入('输入一个变量名:'“年代”);如果~存在(str,“var”) ME = MException(MyComponent”添加:noSuchVariable...'未找到变量%s 'str);把(我)结束

入力プロンプトでは,ワークスペースにない変数を入力します。たとえば,notaVariableを入力します。

变量notvariable未找到

ワークスペースにnotVariableが存在しないため,MATLABはMExceptionオブジェクトを作成しスローします。

作業フォルダーで,関数combineArraysを作成します。

函数C = combineArrays (A, B)试一试C = catAlongDim1 (A, B);% 3号线引发异常(异常)%第5行结束结束函数V = cat(1,V1,V2); / / V = cat(1,V1,V2);% 10号线结束

異なるサイズの配列を指定して,関数combineArraysを呼び出します。

一个= 1:5;B = 1:4;combineArrays (A, B)
使用combineArrays的错误(第5行)被连接的矩阵的维度不一致。

スタックは,MATLABが例外をスローする5行目を示します。

関数combineArraysの5行目にある把(异常)重新抛出(异常)に置き換えて,関数を再度呼び出します。

combineArrays (A, B)
使用cat的错误被连接的矩阵的维数不一致。错误in combineArrays>catAlongDim1 (line 10) V = cat(1,V1,V2);C = catAlongDim1(A,B);% 3号线

関数重新抛出は元のスタックを維持していて,エラーが3行目にあることを示しています。

入力引数

すべて折りたたむ

エラーの原因と場所を含む例外。スカラーMExceptionオブジェクトとして指定します。

R2007bで導入