• 使用throw抛出异常,有以下常见异常类型:
      • BoundsError边界错误
      • DomainError定义域错误
      • MethodError方法错误
      • OverflowError溢出错误
      • TypeError类型错误
    • 使用try/catch捕获异常

    示例:

    1. function see(x)
    2. if x<0
    3. throw(DomainError("Too small"))
    4. elseif x>1000
    5. throw(DomainError("Too big"))
    6. end
    7. println(x)
    8. end
    9. try
    10. see(8)
    11. see(-9)
    12. catch i
    13. if isa(i,DomainError)
    14. print(i.val)
    15. end
    16. end

    try-catch结构中可以嵌入finally,标注无论代码如何结束,都会运行finally模块

    io=open("a.txt","r")
    try
        something(io)
    finally
        close(io)
    end