aboutsummaryrefslogtreecommitdiff
path: root/spec/primitive.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/primitive.md')
-rw-r--r--spec/primitive.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/spec/primitive.md b/spec/primitive.md
index 386b0dcf..dc089cfa 100644
--- a/spec/primitive.md
+++ b/spec/primitive.md
@@ -75,6 +75,8 @@ Inferred properties are specified in [their own document](inferred.md), not in t
- **Assert** (`!`) causes an error if the argument is not `1`. If `𝕨` is provided, it gives a message to be associated with this error (which can be any value, not necessarily a string).
+- **Catch** (`⎊`) evaluates `𝔽` on the arguments `𝕨` (if present) and `𝕩`. If `𝔽` completes without error it returns the result, but if evaluation of `𝔽` results in an error then the error is suppressed, and Catch evaluates `𝔾` on the arguments and returns the result. Errors in `𝔾` are not caught. Catch only prevents evaluation errors, and not syntax errors: these are considered errors in the program as a whole rather than any particular part of it.
+
## Commentary on other primitives
As noted above, see [reference.bqn](reference.bqn) for the authoritative definitions. Commentary here gives an overall description and highlights implementation subtleties and edge cases.