Files
Nim/tests/destructor/tgotoexceptions4.nim
2020-04-01 20:30:28 +02:00

61 lines
989 B
Nim

discard """
cmd: "nim c --gc:arc --exceptions:goto $file"
output: '''caught in gun
caught in fun
caughtsome msgMyExcept
in finally
caught1
123
123'''
"""
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()
# bug #13782
import strutils
var n = 123
try: n = parseInt("xxx")
except: discard
echo n
proc sameTestButForLocalVar =
var n = 123
try: n = parseInt("xxx")
except: discard
echo n
sameTestButForLocalVar()