有关错误处理的一般要点
Prolog 具有异常,这是 Prolog ISO 标准的一部分。
使用 throw/1 可以抛出异常,并且可以使用 catch/3 捕获。
ISO 标准定义了许多必须或可能抛出错误的情况。标准化的例外都是 error(E,_) 的形式,其中 E 表示错误。例如 instantiation_error,domain_error 和 type_error,见。
与例外有关的一个重要谓词是 setup_call_cleanup/3,它可以看到。