Files
Nim/tests/destructor/texceptions.nim
2019-12-05 16:59:06 +01:00

30 lines
558 B
Nim

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