This repository was archived by the owner on Apr 25, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
proposals/exception-handling Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,10 @@ _default_ catch block. The default catch block has no exception type, and is
141
141
used to catch all exceptions not caught by any of the tagged catch blocks. The
142
142
term 'catch block' refers to both ` catch ` and ` catch_all ` blocks.
143
143
144
+ When the program runs ` br ` within ` catch ` or ` catch_all ` blocks, the rest of
145
+ the catching blocks will not run and the program control will branch to the
146
+ destination, as in normal blocks.
147
+
144
148
Try blocks, like control-flow blocks, have a _ block type_ . The block type of a
145
149
try block defines the values yielded by evaluating the try block when either no
146
150
exception is thrown, or the exception is successfully caught by the catch block.
@@ -168,6 +172,11 @@ block.
168
172
The ` end ` instruction at the end of ` unwind ` block is special that it
169
173
automatically rethrows the current exception.
170
174
175
+ When the program runs ` br ` within ` unwind ` block, the rest of the ` unwind ` block
176
+ will not run and the program control will branch to the destination, as in
177
+ normal blocks. Because we don't reach ` end ` of ` unwind ` block, rethrowing does
178
+ not happen.
179
+
171
180
### Throwing an exception
172
181
173
182
The ` throw ` instruction takes an exception index as an immediate argument. That
You can’t perform that action at this time.
0 commit comments