Try 语句
例如:
# 读取包含数字的文本文件的前两行,并尝试将它们相加
var
f: File
if open(f, "numbers.txt"):
try:
var a = readLine(f)
var b = readLine(f)
echo "sum: " & $(parseInt(a) + parseInt(b))
except OverflowDefect:
echo "overflow!"
except ValueError, IOError:
echo "catch multiple exceptions!"
except CatchableError:
echo "Catchable exception!"
finally:
close(f)
try 之后的语句顺序执行,直到有异常 e 抛出。如果 e 的异常类型能够匹配 except 子句列出的异常类型,则执行对应的代码。 except 子句之后的代码被称为 exception handlers “异常处理程序”。
如果存在 finally 子句,那么 finally:idx 子句总会在异常处理程序之后得以执行。
异常处理程序会 吃掉 异常。然而异常处理程序也可能抛出新的异常。如果没有处理这个异常,则会通过调用栈传递出去。 这种情况往往意味着,所在过程剩下的那些不属于 finally 子句的代码不被执行。
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .