使用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时会出现所描述的情况
答案 0 :(得分:1)
将JPL与SWI-Prolog 6.1.9(目前为开发版本)一起使用时,解决了有关咨询错误的问题。尝试查询不存在的文件时抛出异常。