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