diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index 502827b6..bd11ac16 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -615,8 +615,12 @@ handle_ball(C, C, R) :- handle_ball(_, _, _) :- '$unwind_stack'. -throw(Ball) :- '$set_ball'(Ball), '$unwind_stack'. - +throw(Ball) :- + ( var(Ball) -> + '$set_ball'(error(instantiation_error,throw/1)) + ; '$set_ball'(Ball) + ), + '$unwind_stack'. :- non_counted_backtracking '$iterate_find_all'/4. '$iterate_find_all'(Template, Goal, _, LhOffset) :-