ゴールの実行中に発生したエラーを処理する。
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 標準に含まれる。