Files
Nim/tests/assert/tassert.nim
Jacek Sieka 7d6cbf290a Error -> Defect for defects (#13908)
* Error -> Defect for defects

The distinction between Error and Defect is subjective,
context-dependent and somewhat arbitrary, so when looking at an
exception, it's hard to guess what it is - this happens often when
looking at a `raises` list _without_ opening the corresponding
definition and digging through layers of inheritance.

With the help of a little consistency in naming, it's at least possible
to start disentangling the two error types and the standard lib can set
a good example here.
2020-04-28 19:56:01 +02:00

21 lines
462 B
Nim

discard """
outputsub: "assertion failure!this shall be always written"
exitcode: "1"
"""
# test assert and exception handling
proc callB() = assert(false)
proc callA() = callB()
proc callC() = callA()
try:
callC()
except AssertionDefect:
write(stdout, "assertion failure!")
except:
write(stdout, "unknown exception!")
finally:
system.write(stdout, "this shall be always written")
assert(false) #OUT assertion failure!this shall be always written