exception(+Exception,
+Context, -Action)Dynamic predicate, normally not defined. Called by the Prolog system on
run-time exceptions that can be repaired‘just-in-time’. The
values for Exception are described below. See also catch/3
and throw/1.
If this hook predicate succeeds it must instantiate the Action
argument to the atom fail
to make the operation fail
silently,
retry
to tell Prolog to retry the operation or error
to make the system generate an exception. The action retry
only makes sense if this hook modified the environment such that the
operation can now succeed without error.
- undefined_predicate
- Context is instantiated to a predicate indicator ([module]:<name>/<arity>).
If the predicate fails, Prolog will generate an
existence_error
exception. The hook is intended to implement alternatives to the
built-in autoloader, such as autoloading code from a database. Do not
use this hook to suppress existence errors on predicates. See also unknown
and section 2.14.
- undefined_global_variable
- Context is instantiated to the name of the missing global
variable. The hook must call nb_setval/2
or b_setval/2
before returning with the action
retry
. See also nb_current/2.