0

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の参照が実際に失敗したことをどのように検出できますか?同じ質問が、述語の実行が失敗する原因とならない警告メッセージの取得にも当てはまります。

編集:説明されている状況は、6.0.2までのSWI-PrologバージョンでJPLを使用している場合に発生します

4

1 に答える 1

1

SWI-Prolog 6.1.9(現在は開発バージョン)でJPLを使用すると、コンサルティングエラーに関する問題が解決されます。存在しないファイルを参照しようとすると、例外がスローされます。

于 2012-07-24T11:33:16.000 に答える