java的try-finally是为了清除会占用系统资源的动作。
一个try-finally结构,只要try块开始执行了,finally块里面的代码保证执行一次并且只有一次。
比如在JDBC中,当我们用到Connection, Statement, ResultSet这些对象时,他们都用到了系统资源,
用try-catch-finally结构也是可以的,但这个过程你需要处理这个异常,又会占用系统资源,且这些异常是运行时异常
在编译期间看不到,但运行时可能会出现错误。索性直接抛出去让jvm来处理这个问题。
我们只需保证每建立一个需要清理的资源,就用一个try-finally来保证它可以被清理掉。 |