finally后的语句不是不管是否出现异常都会按照顺序执行么?那finally中的语句与直接try-catch语句块结束后的语句有什么不一样呢?
比如说关闭流或者是连接 , 就是你操作失败或成功, 最后一定要关闭 , 所以就要 finally , 最后没有一定要操作的就不用 finally , 异常就异常 , 成功就成功
在只有try-catch语句中,如果catch块中出现了return语句或者抛出了异常,那么catch之后的语句是执行不到的;但是如果将代码放入finally中,即使catch中出现了return语句或者抛出了异常,finally中的代码任然是可以执行到的。
直接try-catch语句块结束后的语句会因为出现异常而不再执行,如果你写到finally块中去,就不会出现这种情况了