finally叫做最后的執(zhí)行快,什么是最后的執(zhí)行快?他的意思是這樣的他是寫(xiě)在trycatch的后面但是只能寫(xiě)一個(gè),他設(shè)計(jì)這個(gè)finally的意思就是,如果try里面出錯(cuò)肯定會(huì)往陷阱里面跑。沒(méi)有出錯(cuò)就會(huì)執(zhí)行完畢然后直接往下走。那么如果有一個(gè)資源在try里面使用,但是一但出錯(cuò)了呢?這個(gè)資源肯定要關(guān)閉的,如果在正常的代碼里面寫(xiě)關(guān)閉,如果出錯(cuò)了就不能關(guān)閉,所以要在catch里面關(guān)閉資源,但是catch陷阱有很多個(gè)不知道他的錯(cuò)誤要進(jìn)哪一個(gè)陷阱,那么我們不可能每個(gè)陷阱里面都的加關(guān)閉的資源這樣代碼的重復(fù)就太多了,所以Java就出現(xiàn)了一個(gè)finally類(lèi),finally類(lèi)不管你的代碼有沒(méi)有錯(cuò)誤他最終都還得執(zhí)行。
他的執(zhí)行過(guò)程是這樣的,首先1/0肯定有錯(cuò)誤不能被零整除那么就進(jìn)入陷阱發(fā)現(xiàn)Error這個(gè)陷阱不是他的類(lèi)型那么就不進(jìn)去走到finally打印了333333然后拋出上一級(jí)發(fā)現(xiàn)那個(gè)陷阱是屬于他的那么就進(jìn)入陷阱池打印了444444然后遇到了finally打印了5555555往下執(zhí)行又遇到了finally那么又打印了finally里面的代碼6666666。
throw在Java里面就是把異常再次拋出去,他在方法上可以寫(xiě),嵌套里面也可以寫(xiě)。只要throw這個(gè)關(guān)鍵字寫(xiě)上了那么他后面就不允許在有任何的代碼
以上就是北大青鳥(niǎo)長(zhǎng)沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Javase視頻教程,finally類(lèi)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
Javase零基礎(chǔ)學(xué)習(xí)視頻
2020JavaSE進(jìn)階:http://www.bjpowernode.com/javavideo/144.html
Java視頻教程