Fix exception tracking in try blocks (#10455)

Exceptions raised inside a nkFinally/nkExcept block are not caught by
the block itself.

Fixes #3886
This commit is contained in:
LemonBoy 2019-01-27 10:32:44 +01:00 • committed by Andreas Rumpf
commit 3ce6b2acb9
2 changed files with 23 additions and 1 deletions

View file

@ -0,0 +1,14 @@
discard """
errormsg: "can raise an unlisted exception: ref FloatingPointError"
line: 10
"""
proc foo() {.raises: [].} =
try:
discard
except KeyError:
raise newException(FloatingPointError, "foo")
except Exception:
discard
foo()