diff options
-rw-r--r-- | lib/system.nim | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/system.nim b/lib/system.nim index 9f0b11597..5e08dadc0 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -4136,17 +4136,18 @@ template doAssertRaises*(exception, code: untyped): typed = runnableExamples: doAssertRaises(ValueError): raise newException(ValueError, "Hello World") - + var wrong = false try: - block: - code - raiseAssert(astToStr(exception) & " wasn't raised by:\n" & astToStr(code)) + code + wrong = true except exception: discard except Exception as exc: raiseAssert(astToStr(exception) & " wasn't raised, another error was raised instead by:\n"& astToStr(code)) + if wrong: + raiseAssert(astToStr(exception) & " wasn't raised by:\n" & astToStr(code)) when defined(cpp) and appType != "lib" and not defined(js) and not defined(nimscript) and hostOS != "standalone": |