Throw
ISO throw/1: raises its argument as a ResolutionException, to be looked for by an enclosing catch/3 as the state machine climbs the execution-context stack in StateException.
If the argument is an error(Type, Extra) (or error(Type)) compound, it is wrapped into a LogicError of the given it.unibo.tuprolog.solve.exception.error Type; any other term is wrapped into a generic MessageError instead.
Throws
if the argument is an unbound variable.