我怎样才能捕获任何错误并在 Nim 中获取错误本身

How can I catch any error and get the error itself in Nim

我想捕获 任何 错误并获取 错误本身

有可能得到特定类型的错误

try:
  raise newException(CatchableError, "some error")
except IOError as e:
  echo e.msg

并且有可能会报错,但是需要调用特殊的函数来报错,感觉真的不对

try:
  raise newException(CatchableError, "some error")
except:
  let e = getCurrentException()
  echo e.msg
 

有没有办法像这样:

try:
  raise newException(CatchableError, "some error")
except e:
  echo e.msg

任何可捕获的错误都应扩展 CatchableError,因此这应该可以满足您的要求:

try:
  raise newException(IOError, "some error")
except CatchableError as e:
  echo e.msg