summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-01 20:39:58 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-01 20:39:58 +0000
commit855fd0a5eacdc52699e3e187fcde1a4895ca5f6a (patch)
tree1558fccc5d2d597ea1416e18b7e43591a2336645
parente5ab41faf611c61878ad792cbaaf0294cd5715dd (diff)
Add standard error predicates
-rw-r--r--stdlib.pl29
1 files changed, 29 insertions, 0 deletions
diff --git a/stdlib.pl b/stdlib.pl
index f67a4a4..7c9d189 100644
--- a/stdlib.pl
+++ b/stdlib.pl
@@ -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), _)).