Except 子句
在 except 子句中,可使用下面的语法访问当前抛出的异常:
try:
# ...
except IOError as e:
# 现在可以使用 "e"
echo "I/O error: " & e.msg
或者使用 getCurrentException 获取当前抛出的异常。
try:
# ...
except IOError:
let e = getCurrentException()
# 现在可以使用 "e"
注意,getCurrentException 总是返回 ref Exception 类型。如果需要使用具体类型(比如上面例子中的 IOError)的变量,则需要显式转换:
try:
# ...
except IOError:
let e = (ref IOError)(getCurrentException())
# 现在 "e" 是具体的异常类型了
但是这种需求很少见。最常见的使用场景是从 e 中提取错误信息,使用 getCurrentExceptionMsg 已经足够了:
try:
# ...
except CatchableError:
echo getCurrentExceptionMsg()
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .