Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > コアとなる言語 > 手続き型プログラミング > フロー制御 > Throw >

Throw

Throw[value]
評価を中止し,この関数に対して適用された最も近くにあるCatchの値として value を返す.
Throw
Catchだけによりキャッチできる.formtag にマッチしたパターンである.
  • tag にはどのような式でも指定できる.
  • Throwにおける tag は,Catchform と比較されるときに毎回再評価を受ける.
  • ThrowをキャッチするためのCatchが何も指定されていないとき,エラーになり,Throwは未評価のまま返される.
Throwが評価されると直ちに囲み込んでいるCatchに退避する:
「例外処理を実行する」ことができる関数を定義する:
Catchの結果はThrowが投げ出した(実行した)ものである:
Throwを使って基準を満たしたときにループから退避する:
Throwが評価されると直ちに囲み込んでいるCatchに退避する:
In[1]:=
Click for copyable input
Out[1]=
 
「例外処理を実行する」ことができる関数を定義する:
In[1]:=
Click for copyable input
Catchの結果はThrowが投げ出した(実行した)ものである:
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
 
Throwを使って基準を満たしたときにループから退避する:
In[1]:=
Click for copyable input
Out[1]=
Throwは基本的にどのような関数の内側でも使うことができる:
Throwを使って任意の形の式を投げる:
Throwは最も近くにあってこれを囲み込んでいるCatchによってキャッチされる:
最初のThrowが評価され次第,これを囲み込んでいるCatchに退避する:
タグが付いたThrowをキャッチする:
内側のCatchThrowをキャッチする:
外側のCatchThrowをキャッチする:
タグを局所的にしておく:
より後で最初の素数を求める:
19を法とした1と等価になる17の最初のベキを求める:
反復が大きくなり過ぎる場合は停止する:
メッセージが生成された場合はCheckを使って例外を投げる(実行する):
ThrowにはCatchが必要である:
Throwを使うと関数が返すものの構造に影響が出ることがある:
バージョン 1 の新機能 | バージョン 3 での修正機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF