This repository was archived by the owner on Apr 25, 2025. It is now read-only.
Initial support for exceptions in spec interpreter #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change provides some initial support for exceptions in the spec interpreter.
We support basic exception declarations,
try
blocks,catch_all
clauses andthrow
. This includes type checking, encoding, decoding, printing and execution.There are still some limitations. Exceptions cannot yet take arguments. We do not support
catch
orrethrow
yet. The allowed locations for the exceptions section is overly strict now, in part because the location is still an open question (#25).Future PRs will add the missing functionality, but this is sufficient to give initial support and help clarify some of the details of the spec.