close #18129 Add setCurrentException for JS backend (#18145)

* [std/re] make interface consistent

* tiny

* revert

* close #18129  add setCurrentException

* changelog entry
This commit is contained in:
flywind
2021-06-02 00:16:25 +08:00
committed by GitHub
parent c0e8199acc
commit c2e3dc0ed1
3 changed files with 12 additions and 1 deletions

View File

@@ -329,7 +329,7 @@
- Fixed premature garbage collection in asyncdispatch, when a stack trace override is in place.
- Added setCurrentException for JS backend.
## Language changes

View File

@@ -69,6 +69,9 @@ proc getCurrentExceptionMsg*(): string =
return $msg
return ""
proc setCurrentException*(exc: ref Exception) =
lastJSError = cast[PJSError](exc)
proc auxWriteStackTrace(f: PCallFrame): string =
type
TempFrame = tuple[procname: cstring, line: int, filename: cstring]

View File

@@ -0,0 +1,8 @@
discard """
targets: "c cpp js"
"""
let ex = newException(CatchableError, "test")
setCurrentException(ex)
doAssert getCurrentException().msg == ex.msg
doAssert getCurrentExceptionMsg() == ex.msg