主要内容

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

try / catchを使用したエラー処理

try / catchステートメントを使用して,プログラムでエラーが発生した後にコードを実行できます。try / catchステートメントは,次の場合に便利です。

  • エラーを回避する別の方法でプログラムを終了する

  • エラーによる不要な副作用をクリーンアップする必要がある

  • 問題のある入力パラメーターまたはコマンドが多数ある

try / catchステートメントを,この疑似コードのようにコードのブロックに配置します。

尝试试块……抓住catch块……结束
试块内でエラーが発生すると,MATLAB®试一试ブロックの残りのコマンドをスキップし,catch块のコマンドを実行します。试块内でエラーが発生しない場合,MATLABはcatch块全体をスキップします。

たとえば,try / catchステートメントはエラーのスローを回避できます。n個の要素の中からk個の要素の組み合わせ数を返す関数组合を考えてみます。

函数Com = factorial(n)/(factorial(k)*factorial(n-k));结束

MATLABはk > nの場合にエラーをスローします。要素数kが全体の要素数nより多い状態では,組み合わせを作成することはできません。try / catchステートメントを使用すると、エラーを回避して、入力の順序に関係なくこの関数を実行できます。

函数com = robust_combine (n, k)试一试com = ! (n) /(阶乘(k) * factorial (n - k));com = ! (k) / (! (n) * ! (k - n));结束结束
robust_combineは整数がどんな順序でも有効な入力として処理します。
C1 = robust_combine(8,4)
c = 70

また,ステートメントの後に変数を入力するとエラーに関する詳細情報を取得できます。

抓住MExc
MExcMExceptionクラスオブジェクトで,スローされたエラーの詳細情報が格納されます。MExceptionオブジェクトから情報にアクセスする方法の詳細は,MATLABアプリケーションでの例外処理を参照してください。

参考

||