在搜索引擎中,搜索“为什么使用finally”,相当一部分人的回答都是“为了关闭打开的资源”,其实这样说也没错。但在使用try……catch后,不使用finally一样可以关闭打开的资源。因为一般情况下,捕获异常后的代码会继续执行的。特殊情况是指,在catch中使用了:return语句或者throw语句。其它的例如:System.out.println(“”);语句、e.printStackTrace();语句、e.getMessage();语句等,程序均会继续往下执行。
因此,大多数情况下是不需要使用finally的。
有一种情况发生异常后finally也不会执行,即在catch中使用了System.exit();语句。