通过JPL从SWI-Prolog检索ERROR和WARNING消息

时间:2012-07-23 08:27:09

标签: java prolog swi-prolog jpl

使用JPL时,我在检索错误和警告消息时遇到了一些问题。 例如,尝试直接从SWI-Prolog查询不存在的文件会产生以下输出:

1 ?- consult('NonExistingFile').
ERROR: source_sink `NonExistingFile' does not exist
true.

但是,当通过JPL执行此查询时,不会抛出任何异常,并且Query类的hasMoreSolutions()方法返回true:

Query query = new Query("consult('NonExistingFile')");
query.hasMoreSolutions();

如何检测到发生错误并且咨询NonExistingFile.pl实际上已失败?同样的问题适用于检索不会导致谓词执行失败的警告消息。

编辑:将JPL与SWI-Prolog版本一起使用到6.0.2时会出现所描述的情况

1 个答案:

答案 0 :(得分:1)

将JPL与SWI-Prolog 6.1.9(目前为开发版本)一起使用时,解决了有关咨询错误的问题。尝试查询不存在的文件时抛出异常。