diff --git a/lib/system/jssys.nim b/lib/system/jssys.nim index 768f9bc170..cc69dc503a 100644 --- a/lib/system/jssys.nim +++ b/lib/system/jssys.nim @@ -53,7 +53,7 @@ proc isNimException(): bool {.asmNoStackFrame.} = else: asm "return `lastJSError`.m_type;" -proc getCurrentException*(): ref Exception = +proc getCurrentException*(): ref Exception {.compilerRtl, benign.} = if isNimException(): result = cast[ref Exception](lastJSError) proc getCurrentExceptionMsg*(): string = diff --git a/tests/js/ttryexceptnewsyntax.nim b/tests/js/ttryexceptnewsyntax.nim new file mode 100644 index 0000000000..2573c3727a --- /dev/null +++ b/tests/js/ttryexceptnewsyntax.nim @@ -0,0 +1,13 @@ +discard """ + output: '''hello''' +""" + +type + MyException = ref Exception + +#bug #5986 + +try: + raise MyException(msg: "hello") +except MyException as e: + echo e.msg