diff options
author | LemonBoy <LemonBoy@users.noreply.github.com> | 2018-10-09 19:51:29 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-10-09 19:51:29 +0200 |
commit | a3fb0a769c05f5a88a68c9762069cc0056207258 (patch) | |
tree | 292788c43f2e54f0bd0194b1b113869ee4e39278 /tests | |
parent | f98a3056c6c98ba546a302040679fb6226f555f6 (diff) | |
download | Nim-a3fb0a769c05f5a88a68c9762069cc0056207258.tar.gz |
Try/Catch support for native JS exceptions (#8955)
* Try/Catch support for native JS exceptions * Better tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/js/tnativeexc.nim | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/js/tnativeexc.nim b/tests/js/tnativeexc.nim new file mode 100644 index 000000000..ea371c1cd --- /dev/null +++ b/tests/js/tnativeexc.nim @@ -0,0 +1,31 @@ +discard """ + action: "run" +""" + +import jsffi + +# Can catch JS exceptions +try: + asm """throw new Error('a new error');""" +except JsError as e: + doAssert e.message == "a new error" +except: + doAssert false + +# Can distinguish different exceptions +try: + asm """JSON.parse(';;');""" +except JsEvalError: + doAssert false +except JsSyntaxError as se: + doAssert se.message == "Unexpected token ; in JSON at position 0" +except JsError as e: + doAssert false + +# Can catch parent exception +try: + asm """throw new SyntaxError();""" +except JsError as e: + discard +except: + doAssert false |