使用 Java 和 JPL 从 SWI-Prolog 检索 ERROR 消息

问题描述

当我使用 jpl(来自 JavaSE 1.8)时,Prolog(SWI-Prolog 版本 8.2.2)可以返回错误消息而不抛出异常。例如。使用consult时,文件错误

import org.jpl7.Query;

public class Test {
  public static void main(String[] args) {
    try {
      String t1 = "consult('test.pl')";
      Query q1 = new Query(t1);
      q1.hasNext();
    } catch (Exception e) {
      e.printstacktrace();
    }
  }
}

我在控制台得到输出

ERROR: test.pl:1:23: Syntax error: Unexpected end of file

但是没有抛出异常。因此,我的 Java 程序无法知道所咨询的文件错误。我在这个简单示例中使用的文件 test.pl 只包含一个带有语法错误的简单谓词:

brother(mike,stella)..

我该怎么做才能让我的 Java 程序捕捉到这个错误?具有类似标题post 似乎无法解决此问题...

也许我可以使用来自 jpl 或其他来源的语法检查方法,任何具体的想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)