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
|
discard """
cmd: '''nim c --gc:arc $file'''
output: '''0'''
"""
proc other =
raise newException(ValueError, "stuff happening")
proc indirectViaProcCall =
var correct = 0
for i in 1 .. 20:
try:
other()
except:
let x = getCurrentException()
correct += ord(x of ValueError)
doAssert correct == 20
proc direct =
for i in 1 .. 20:
try:
raise newException(ValueError, "stuff happening")
except ValueError:
discard
let mem = getOccupiedMem()
indirectViaProcCall()
direct()
echo getOccupiedMem() - mem
|