| ゴールの実行中に発生したエラーを処理する。
catch(+ゴール, ?キャッチマスク, ?回復ゴール)
catch/3 は、キャッチマスクで単一化可能で、ゴールの実行中に発生したエラーを処理し、ゴール の実行をとめ、回復ゴールを実行する。
エラーは、プログラムか、プロセッサによって発生可能である。(関連 throw/1)
引数
ゴール ゴール
キャッチマスク 項
回復ゴール ゴール
例
| X=throw(write('ok')), catch(X,Y,write('error')). |
X <- throw(write(ok)), Y <- write(ok) の代入で成功し、write(error) を実行する。 |
| X=write(ok), catch(X,Y,write(error)). |
X <- write(ok), Y <- _735 の代入で成功し、write(ok) を実行する。 |
標準
この述語は、ISO-Prolog 標準に含まれる。
関連
abort/0,
break/0,
call/1,
fcall/1,
','(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,
throw/1.
|