Try语句块里的是程序正确时的代码,try里的语句是期望的执行顺序,也可能中间会抛出异常,通常是与跟程序无关的资源操作失败。
所谓异常就是意想不到的错误,通常不是程序问题,比如数据库操作异常,除零异常,文件读写异常等等。
如果抛出的异常能够被catch捕获就会执行catch里的语句,try语句块里抛出异常之后的语句不会被执行。
finally块是无论异常与否都会执行,并且在函数return之前执行,比如return语句,finally语句块通常负责关闭连接,关闭流,释放或销毁资源。
对于catch捕获的异常,可以抛出throw,但throw语句之后的代码不会被执行,并在执行finally之后抛出,这一点和return有些类似。
另外,注意finally语句块里不能有return语句。