diff options
-rw-r--r-- | stdlib.pl | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -68,3 +68,32 @@ length([_|Tail], Length) :- member(X, [X|_]). member(X, [_|Tail]) :- member(X, Tail). + +% Standard exceptions + +instantiation_error :- + throw(error(instantiation_error, _)). + +type_error(ValidType, Culprit) :- + throw(error(type_error(ValidType, Culprit), _)). + +domain_error(ValidDomain, Culprit) :- + throw(error(domain_error(ValidDomain, Culprit), _)). + +existence_error(ObjectType, Culprit) :- + throw(error(existence_error(ObjectType, Culprit), _)). + +permission_error(Operation, PermissionType, Culprit) :- + throw(error(permission_error(Operation, PermissionType, Culprit), _)). + +representation_error(Flag) :- + throw(error(representation_error(Flag), _)). + +evaluation_error(Error) :- + throw(error(evaluation_error(Error), _)). + +resource_error(Resource) :- + throw(error(resource_error(Resource), _)). + +syntax_error(Error) :- + throw(error(syntax_error(Error), _)). |