製品
製品の一覧
Mathematica
Mathematica
学生エディション
Mathematica
ホームエディション
Wolfram
CDF Player
(無料ダウンロード)
CDF(計算可能ドキュメント形式)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
アドオン
Wolfram|Alpha関連製品
ソリューション
ソリューションの一覧
工学
航空宇宙工学と防衛
化学工学
制御系
電気工学
画像処理
生産工学
材料科学
機械工学
オペレーションズリサーチ
光学
石油工学
バイオテクノロジーと医学
バイオインフォマティクス
医用画像処理
金融,統計,ビジネスの分析
保険数理
データの解析とマイニング
計量経済学
経済学
金融工学と数学
財務リスク管理
統計
ソフトウェア工学とコンテンツ配信
オーサリングと出版
インターフェース開発
ソフトウェア工学
Web開発
科学
天文学
バイオサイエンス
化学
環境科学
地球科学
社会・行動科学
デザイン,芸術,娯楽
ゲームデザイン・特殊効果・ジェネレーティブアート
教育
高等教育
短大・専門学校
初等・中等教育
学生
テクノロジー
CDF(計算可能ドキュメント形式)
高性能並列計算(HPC)
参照:テクノロジーガイド
ご購入
オンラインストア
他の購入方法
Volumeライセンスとサイトライセンス
販売部へのご連絡
ソフトウェア
サービス
アップグレード
トレーニング
書籍
Wolframグッズ
サポート
テクニカルサポートページ
Mathematica
ドキュメント
知識ベース
ラーニングセンター
テクニカルサービス
コミュニティ & フォーラム
トレーニング
サイトライセンスの確認
Wolframユーザポータル
会社概要
会社概要
ニュースとイベント
Wolframブログ
パートナーシップ
採用情報
Mathematica
の歴史
Stephen Wolframのホームページ
連絡先
Wolfram Webサイト
サイトの一覧
Wolfram|Alpha
デモンストレーションプロジェクト
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
コアとなる言語
>
手続き型プログラミング
>
フロー制御
>
Throw
>
MATHEMATICA 組込みシンボル
ループと制御構造体
メッセージ
チュートリアル »
|
Catch
Return
Goto
Interrupt
Abort
Sow
NestWhile
For
While
関連項目 »
|
フロー制御
ループ構文
手続き型プログラミング
スコープ構文
その他 »
Throw
Throw
[
value
]
評価を中止し,この関数に対して適用された最も近くにある
Catch
の値として
value
を返す.
Throw
Catch
だけによりキャッチできる.
form
は
tag
にマッチしたパターンである.
詳細
Throw
および
Catch
を使うことで
Nest
,
Fold
,
FixedPoint
,そして
Scan
等の関数から退避することが可能になる.
tag
にはどのような式でも指定できる.
Throw
における
tag
は,
Catch
の
form
と比較されるときに毎回再評価を受ける.
Throw
をキャッチするための
Catch
が何も指定されていないとき,エラーになり,
Throw
は未評価のまま返される.
例題
すべて閉じる
例
(3)
Throw
が評価されると直ちに囲み込んでいる
Catch
に退避する:
「例外処理を実行する」ことができる関数を定義する:
Catch
の結果は
Throw
が投げ出した(実行した)ものである:
Throw
を使って基準を満たしたときにループから退避する:
Throw
が評価されると直ちに囲み込んでいる
Catch
に退避する:
In[1]:=
Out[1]=
「例外処理を実行する」ことができる関数を定義する:
In[1]:=
Catch
の結果は
Throw
が投げ出した(実行した)ものである:
In[2]:=
Out[2]=
In[3]:=
Out[3]=
Throw
を使って基準を満たしたときにループから退避する:
In[1]:=
Out[1]=
スコープ
(4)
Throw
は基本的にどのような関数の内側でも使うことができる:
Throw
を使って任意の形の式を投げる:
Throw
は最も近くにあってこれを囲み込んでいる
Catch
によってキャッチされる:
最初の
Throw
が評価され次第,これを囲み込んでいる
Catch
に退避する:
一般化と拡張
(3)
タグ
が付いた
Throw
をキャッチする:
内側の
Catch
が
Throw
をキャッチする:
外側の
Catch
が
Throw
をキャッチする:
タグを局所的にしておく:
アプリケーション
(3)
より後で最初の素数を求める:
19を法とした1と等価になる17の最初のベキを求める:
反復が大きくなり過ぎる場合は停止する:
特性と関係
(1)
メッセージが生成された場合は
Check
を使って例外を投げる(実行する):
考えられる問題
(2)
Throw
には
Catch
が必要である:
Throw
を使うと関数が返すものの構造に影響が出ることがある:
関連項目
Catch
Return
Goto
Interrupt
Abort
Sow
NestWhile
For
While
チュートリアル
ループと制御構造体
メッセージ
その他
フロー制御
ループ構文
手続き型プログラミング
スコープ構文
関連リンク
NKS|Online
(
A New Kind of Science
)
バージョン 1 の新機能 | バージョン 3 での修正機能