java中finally塊兒是怎么工作的?有什么意義?

finally塊 

馬克-to-win:finally塊兒是怎么工作的?有什么意義?finally關(guān)鍵字創(chuàng)建一個代碼塊。沒有try,finally塊兒不能單獨存在。該代碼塊在一個try/catch塊完成之后另一個try/catch出現(xiàn)之前執(zhí)行。馬克-to-win:finally一定會執(zhí)行,即使 1)異常沒有發(fā)生 2)根本沒有寫catch塊兒 3)沒有與該異常相匹配的catch子句。4)try代碼塊中包含有break、continue、return或者throw語句(或直接崩潰或發(fā)生OutOfMemoryError)。馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。
為什么拋出異?;虬l(fā)生錯誤,finally塊兒還是能運行呢?想象一下程序執(zhí)行的過程就明白了。jvm一句一句的向下執(zhí)行,當(dāng)它發(fā)現(xiàn)數(shù)組過界時,它就先執(zhí)行 finally塊兒,然后再執(zhí)行打印報錯現(xiàn)在正在發(fā)生數(shù)組過界。注意現(xiàn)在是你的程序出現(xiàn)問題,jvm一點問題都沒有,所以它還能正常打印報錯。(見下面的例子)