mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-22 08:51:21 +00:00
@@ -524,10 +524,7 @@ proc getStackTrace(e: ref Exception): string =
|
||||
proc getStackTraceEntries*(e: ref Exception): seq[StackTraceEntry] =
|
||||
## Returns the attached stack trace to the exception `e` as
|
||||
## a `seq`. This is not yet available for the JS backend.
|
||||
when not defined(nimSeqsV2):
|
||||
shallowCopy(result, e.trace)
|
||||
else:
|
||||
result = move(e.trace)
|
||||
shallowCopy(result, e.trace)
|
||||
|
||||
proc getStackTraceEntries*(): seq[StackTraceEntry] =
|
||||
## Returns the stack trace entries for the current stack trace.
|
||||
|
||||
17
tests/exception/t18620.nim
Normal file
17
tests/exception/t18620.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
discard """
|
||||
matrix: "--gc:arc; --gc:refc"
|
||||
"""
|
||||
|
||||
proc hello() =
|
||||
raise newException(ValueError, "You are wrong")
|
||||
|
||||
var flag = false
|
||||
|
||||
try:
|
||||
hello()
|
||||
except ValueError as e:
|
||||
flag = true
|
||||
doAssert len(getStackTraceEntries(e)) > 0
|
||||
doAssert len(getStackTraceEntries(e)) > 0
|
||||
|
||||
doAssert flag
|
||||
Reference in New Issue
Block a user