Tests that are expected to raise exceptions may be specified using the
option exception(Expected) or one of its equivalents, or by
wrapping the test in on_exception/3 or catch/3. The
following tests are equivalent:
:- use_module(library(terms)).
test(div01) :-
on_exception(Excp, A is 1/0, true),
subsumeschk(error(evaluation_error(zero_divisor),_), Excp).
test(div02, [error(evaluation_error(zero_divisor))]) :-
A is 1/0.
test(div03, [error(evaluation_error(zero_divisor),_)]) :-
A is 1/0.
test(div04, [exception(error(evaluation_error(zero_divisor),_))]) :-
A is 1/0.
test(div05, [throws(error(evaluation_error(zero_divisor),_))]) :-
A is 1/0.