主要内容

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

试一试

ステートメントの実行と結果のエラーのキャッチ

構文

试一试语句异常语句结束

説明

试一试语句,抓语句结束は,试一试ブロック内のステートメントを実行し,発生したエラーをブロックでキャッチします。この方法を使用して,一連のプログラムステートメントの既定エラー動作をオーバーライドできます。试一试ブロックのいずれかのステートメントでエラーが生成されると,プログラムの制御は,直ちにエラー処理ステートメントが含まれているブロックに移動します。

异常は,エラーの識別を可能にするMExceptionオブジェクトです。ブロックは,現在の例外オブジェクトを异常の変数に割り当てます。

试一试ブロックとブロックには,入れ子にされたtry / catchステートメントを含めることができます。

すべて折りたたむ

垂直に連結できない2つの行列を作成します。

一个=兰德(3);B = 1 (5);C =[一个;B];
使用vertcat错误被连接的矩阵的维数不一致。

try / catchを使用して,次元に関する詳細情報を表示します。

试一试C =[一个;B];如果(比较字符串(ME.identifierMATLAB:连接:dimensionMismatch) MSG = ['发生维度不匹配:第一个参数有'...num2str(大小(2)),' column while second has '...num2str(大小(B, 2)),“列”。];causeException = MException (MATLAB: myCode:维度的、味精);我= addCause(我,causeException);结束重新抛出(我)结束
使用vertcat错误被连接的矩阵的维数不一致。原因:维度不匹配:第一个参数有3列,第二个参数有5列。

行列の次元が一致しない場合,この不一致についての詳細情報がMATLAB®に表示されます。その他のエラーはすべて通常どおりに表示されます。

存在しない関数notaFunctionを呼び出して,生成されたすべての例外をキャッチします。例外がある場合、警告を表示して出力に値 0 を割り当てます。

试一试一个= notaFunction(5、6);警告(使用函数的问题。赋值为0 ');= 0;结束
警告:使用函数有问题。赋值为0。

notaFunctionへの呼び出しは,それ自体がエラーになります。试一试を使用すると,このコードはすべての例外をキャッチして警告として再パッケージ化するため,MATLABは後続のコマンドを引き続き実行できます。

try / catchを使用して,種類が異なるエラーをそれぞれ異なる方法で処理します。

  • 関数notaFunctionが定義されていない場合,エラーの代わりに警告を発行し,出力に値を割り当てます。

  • notaFunction.mが関数ではなくスクリプトとして存在する場合には,エラーの代わりに警告を発行し,スクリプトを実行して,出力に値0を割り当てます。

  • MATLABが前述以外の何らかの理由でエラーをスローした場合,例外を再度スローします。

试一试一个= notaFunction(5、6);开关ME.identifier情况下“MATLAB: UndefinedFunction”警告(的函数定义。赋值NaN。”);一个=南;情况下“MATLAB: scriptNotAFunction”警告([试图将脚本作为函数执行。...'运行脚本并将输出赋值为0 ']);notaFunction;= 0;否则重新抛出(我)结束结束
警告:函数未定义。赋值NaN。

ヒント

  • 1つの试一试ブロック内に複数のブロックを使用することはできません。ただし,try / catchブロック全体を入れ子にすることは可能です。

  • 他の一部の言語と異なり,MATLABではtry / catchステートメント内で最后ブロックを使用できません。

R2006aより前に導入