• Try语句

    Try语句

    示例:

    1. # 读取应包含数字的文本文件的前两行并尝试添加
    2. var
    3. f: File
    4. if open(f, "numbers.txt"):
    5. try:
    6. var a = readLine(f)
    7. var b = readLine(f)
    8. echo "sum: " & $(parseInt(a) + parseInt(b))
    9. except OverflowError:
    10. echo "overflow!"
    11. except ValueError:
    12. echo "could not convert string to integer"
    13. except IOError:
    14. echo "IO error!"
    15. except:
    16. echo "Unknown exception!"
    17. finally:
    18. close(f)

    try 之后的语句按顺序执行,除非引发异常 e 。 如果 e 的异常类型匹配 except 子句中列出的任何类型,则执行相应的语句。 except 子句后面的语句称为 异常处理程序 。

    如果存在未列出的异常,则执行空的 except 子句。 它类似于 if 语句中的 else 子句。

    如果有一个 finally 子句,它总是在异常处理程序之后执行。

    异常处理程序中的 consume 异常。 但是,异常处理程序可能会引发另一个异常。 如果未处理异常,则通过调用堆栈传播该异常。 这意味着程序不在 finally 子句中的其余部分通常不会被执行(如果发生异常)。