| エラーを起こし、そのリープをキャッチできる一番近い地点に戻る。
throw(+項)
throw/1 は、現在実行手続きの実行をやめ、
そのリープをキャッチできる一番近い地点に戻る。
そのキャッチ点は、 'catch(ゴール, キャッチマスク, 回復ゴール)'によってつくられる。
もし、キャッチマスク が項 と単一化可能であれば、
catch/3 の結果は、回復ゴールの結果となる。
もし、キャッチ点が見つからなければ、throw/1 は MINERVAを終了する。
引数
項 項
例
| catch(throw(true),X,write('return to catch-point')). |
X <- true の代入で成功し、
'return to catch-point' を現在出力ストリームに書く。 |
標準
この述語は、ISO-Prolog 標準に含まれる。
関連
abort/0,
break/0,
call/1,
fcall/1,
catch/3,
','(conjunction)/2,
'!'(cut)/0,
';'(disjunction)/2,
fail/0,
true/0,
halt/0/1,
'->'(if-then)/2,
';'(if-then-else)/2,
'\+'(not provable)/1,
once/1,
repeat/0.
|