11.3.145 on_exception/3

Synopsis

on_exception(-Exception, +ProtectedGoal, +Handler)

same as:

catch(ProtectedGoal, Exception, Handler)

Specify an exception handler for ProtectedGoal, and call ProtectedGoal, as described in ref-ere.

Arguments

Exception

term

:ProtectedGoal

callable, must be nonvar

:Handler

callable, must be nonvar

Examples

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(user_error, 'Exception occured while calling ~q:~n', [C]),
    print_message(warning, E),
    fail.

Backtracking

Depends on ProtectedGoal and Handler.

Exceptions

None.

See Also

ref-ere.


Send feedback on this subject.