on_exception/3
on_exception(
-Exception,
+ProtectedGoal,
+Handler)
Specify an exception handler for ProtectedGoal, and call ProtectedGoal, as described in ref-ere.
Call errors (see ref-sem-exc).
Fail on exception:
:-meta_predicate fail_on_exception(0). fail_on_exception(C):- on_exception(E,C,print_exception_then_fail(C,E)). print_exception_then_fail(C,E):- format('Exception occured while calling ~q:~n', [C]), print_message(warning,E), fail.
Depends on ProtectedGoal and Handler.