* [std/re] make interface consistent * tiny * revert * close #18129 add setCurrentException * changelog entry
This commit is contained in:
parent
c0e8199acc
commit
c2e3dc0ed1
3 changed files with 12 additions and 1 deletions
|
|
@ -329,7 +329,7 @@
|
||||||
|
|
||||||
- Fixed premature garbage collection in asyncdispatch, when a stack trace override is in place.
|
- Fixed premature garbage collection in asyncdispatch, when a stack trace override is in place.
|
||||||
|
|
||||||
|
- Added setCurrentException for JS backend.
|
||||||
|
|
||||||
## Language changes
|
## Language changes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,9 @@ proc getCurrentExceptionMsg*(): string =
|
||||||
return $msg
|
return $msg
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
proc setCurrentException*(exc: ref Exception) =
|
||||||
|
lastJSError = cast[PJSError](exc)
|
||||||
|
|
||||||
proc auxWriteStackTrace(f: PCallFrame): string =
|
proc auxWriteStackTrace(f: PCallFrame): string =
|
||||||
type
|
type
|
||||||
TempFrame = tuple[procname: cstring, line: int, filename: cstring]
|
TempFrame = tuple[procname: cstring, line: int, filename: cstring]
|
||||||
|
|
|
||||||
8
tests/exception/tsetexceptions.nim
Normal file
8
tests/exception/tsetexceptions.nim
Normal 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue