Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow catch/delegate-less trys #157

Merged
merged 2 commits into from
Jun 11, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions proposals/exception-handling/Exceptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,9 @@ end
A try-catch block contains zero or more `catch` blocks and zero or one
`catch_all` block. All `catch` blocks must precede the `catch_all` block, if
any. The `catch`/`catch_all` instructions (within the try construct) are called
the _catching_ instructions. There should be at least one `catch` or `catch_all`
block within a try-catch block.
the _catching_ instructions. There may not be any `catch` or `catch_all` blocks
after a `try`, at which point the whole `try` block is effectively a regular
block.

The _body_ of the try block is the list of instructions before the first
catching instruction. The _body_ of each catch block is the sequence of
Expand Down Expand Up @@ -411,7 +412,6 @@ The following rules are added to *instructions*:
throw (exception except_index) |
rethrow label |
```
(In the first rule, there should be at least one `catch` or `catch_all` block.)

Like the `block`, `loop`, and `if` instructions, the `try` instruction is
*structured* control flow instruction, and can be labeled. This allows branch
Expand Down