Prolog Language Error handling and exceptions Instantiation errors


Example

An instantiation error is thrown if an argument is not sufficiently instantiated.

Critically, an instantiation error cannot be replaced by silent failure: Failing in such cases would mean that there is no solution, whereas an instantiation error means that an instance of the argument may participate in a solution.

This is in contrast to—for example—domain error, which can be replaced by silent failure without changing the declarative meaning of a program.