有关错误处理的一般要点

Prolog 具有异常,这是 Prolog ISO 标准的一部分。

使用 throw/1 可以抛出异常,并且可以使用 catch/3 捕获。

ISO 标准定义了许多必须或可能抛出错误的情况。标准化的例外都是 error(E,_) 的形式,其中 E 表示错误。例如 instantiation_errordomain_errortype_error,见。

与例外有关的一个重要谓词是 setup_call_cleanup/3,它可以看到。