Catch

Catch[expr]

expr の評価において発生したThrowの第1引数を返す.

Catch[expr,form]

formtag に照合させる最初のThrow[value,tag]の呼出しにおける value を返す.

Catch[expr,form,f]

f[value,tag]を返す.

詳細

  • 評価中にThrowが発生しない場合,Catch[expr,]は,expr の値を返す.
  • form にはどんな式でも指定可能であるが,よく使われるのはパターンである.
  • Throw[value,tag]では,form との比較が行われるたびに tag の評価が行われる.

例題

すべて開くすべて閉じる

  (3)

Throwが評価され次第囲み込んでいるCatchに退避する:

「例外処理を実行する」ことができる関数を定義する:

Catchの結果はThrowが投げた(実行した)ものである:

Throwを使って基準が満たされた場合にループから退避する:

スコープ  (5)

Catchは基本的にどんな関数の中からでもThrowをキャッチできる:

最も近くで囲み込んでいるCatchThrowをキャッチする:

Catchは最初に評価されたThrowを拾う:

Throwは文字通りCatchの内側で起る必要はない:

さまざまな例外を投げる(実行する)ことができる関数:

考えられる例外のためのハンドラ:

一般化と拡張  (3)

タグuが付いたThrowをキャッチする:

内側のCatchThrowをキャッチする:

外側のCatchThrowをキャッチする:

タグは局所的にしておく:

アプリケーション  (3)

1010の後の最初の素数を求める:

19を法とした1と等価になる17の最初のベキを求める:

反復が大きくなり過ぎる場合は停止する:

特性と関係  (1)

メッセージが生成された場合にはCheckを使って例外を投げる(実行する):

Wolfram Research (1988), Catch, Wolfram言語関数, https://reference.wolfram.com/language/ref/Catch.html (1996年に更新).

テキスト

Wolfram Research (1988), Catch, Wolfram言語関数, https://reference.wolfram.com/language/ref/Catch.html (1996年に更新).

CMS

Wolfram Language. 1988. "Catch." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 1996. https://reference.wolfram.com/language/ref/Catch.html.

APA

Wolfram Language. (1988). Catch. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Catch.html

BibTeX

@misc{reference.wolfram_2024_catch, author="Wolfram Research", title="{Catch}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/Catch.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_catch, organization={Wolfram Research}, title={Catch}, year={1996}, url={https://reference.wolfram.com/language/ref/Catch.html}, note=[Accessed: 17-November-2024 ]}