fixes #13070
This commit is contained in:
parent
033da35de1
commit
fcd2f305ad
2 changed files with 42 additions and 2 deletions
40
tests/destructor/tgotoexceptions4.nim
Normal file
40
tests/destructor/tgotoexceptions4.nim
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
discard """
|
||||||
|
cmd: "nim c --gc:arc --exceptions:goto $file"
|
||||||
|
output: '''caught in gun
|
||||||
|
caught in fun
|
||||||
|
caughtsome msgMyExcept
|
||||||
|
in finally
|
||||||
|
caught1'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
when true:
|
||||||
|
# bug #13070
|
||||||
|
type MyExcept = object of CatchableError
|
||||||
|
proc gun() =
|
||||||
|
try:
|
||||||
|
raise newException(MyExcept, "some msg")
|
||||||
|
except Exception as eab:
|
||||||
|
echo "caught in gun"
|
||||||
|
raise eab
|
||||||
|
|
||||||
|
proc fun() =
|
||||||
|
try:
|
||||||
|
gun()
|
||||||
|
except Exception as e:
|
||||||
|
echo "caught in fun"
|
||||||
|
echo("caught", e.msg, e.name)
|
||||||
|
finally:
|
||||||
|
echo "in finally"
|
||||||
|
fun()
|
||||||
|
|
||||||
|
when true:
|
||||||
|
# bug #13072
|
||||||
|
type MyExceptB = object of CatchableError
|
||||||
|
proc gunB() =
|
||||||
|
raise newException(MyExceptB, "some msg")
|
||||||
|
proc funB() =
|
||||||
|
try:
|
||||||
|
gunB()
|
||||||
|
except CatchableError:
|
||||||
|
echo "caught1"
|
||||||
|
funB()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue