throw/1

エラーを起こし、そのリープをキャッチできる一番近い地点に戻る。

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.


戻る 続く..