built-in method
existence_error/2
Description
existence_error(Thing, Culprit)
Throws an existence error. Used when the subject of an operation does not exist. This built-in method is declared private and thus cannot be used as a message to an object. Calling this predicate is equivalent to the following sequence of goals:
...,
context(Context),
throw(error(existence_error(Thing,Culprit), Context)).
This allows the user to generate errors in the same format used by the runtime.
Possible values for Thing
include:
predicate
non_terminal
predicate_declaration
procedure
source_sink
stream
object
protocol
category
module
ancestor
library
file
directive
engine
thread
goal_thread
The value of Culprit
is the argument or one of its sub-terms that caused
the error.
Modes and number of proofs
existence_error(@nonvar, @nonvar) - error
Errors
When called:
existence_error(Thing, Culprit)
Examples
...,
\+ current_object(payroll),
existence_error(object, payroll).