Merge "Fix consultRules so that it does not bail out on RuntimeException" into stable-2.9
This commit is contained in:
commit
22da0b0a08
|
@ -196,14 +196,17 @@ public class RulesCache {
|
|||
return pmc;
|
||||
}
|
||||
|
||||
private PrologMachineCopy consultRules(String name, Reader rules) {
|
||||
private PrologMachineCopy consultRules(String name, Reader rules)
|
||||
throws CompileException {
|
||||
BufferingPrologControl ctl = newEmptyMachine(systemLoader);
|
||||
PushbackReader in = new PushbackReader(rules, Prolog.PUSHBACK_SIZE);
|
||||
if (!ctl.execute(
|
||||
Prolog.BUILTIN, "consult_stream",
|
||||
SymbolTerm.intern(name),
|
||||
new JavaObjectTerm(in))) {
|
||||
return null;
|
||||
try {
|
||||
if (!ctl.execute(Prolog.BUILTIN, "consult_stream",
|
||||
SymbolTerm.intern(name), new JavaObjectTerm(in))) {
|
||||
return null;
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
throw new CompileException("Error while consulting rules from " + name, e);
|
||||
}
|
||||
return save(ctl);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue