blob: b2b481256a4e59d7bd4ad3a37a20ab5438d4636f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
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()
|