This subclass of PlExceptionBase
is used to represent
exceptions. Currently defined methods are:
- PlException :: PlException(const PlTerm &)
- Create an exception from a general Prolog term. This provides the
interface for throwing any Prolog terms as an exception.
- std::string as_string()
- The exception is translated into a message as produced by
print_message/2.
The character data is stored in a ring. Example:
...;
try
{ PlCall("consult(load)");
} catch ( PlException& ex )
{ cerr << ex.as_string() << endl;
}
- int plThrow()
- Used in the PREDICATE() wrapper
to pass the exception to Prolog. See
PL_raise_exeption().
A type error expresses that a term does not satisfy the
expected basic Prolog type.
- PlTypeError :: PlTypeError(const std::string&
expected, const PlTerm &actual)
- Creates an ISO standard Prolog error term expressing the
expected type and actual term that does not
satisfy this type.
A domain error expresses that a term satisfies the basic
Prolog type expected, but is unacceptable to the restricted domain
expected by some operation. For example, the standard Prolog open/3
call expect an io_mode
(read, write, append, ...). If an
integer is provided, this is a type error, if an atom other
than one of the defined io-modes is provided it is a domain error.
- PlDomainError :: PlDomainError(const
std::string& expected, const PlTerm &actual)
- Creates an ISO standard Prolog error term expressing a the
expected domain and the actual term found.