首頁(yè)技術(shù)文章正文

Java異常處理機(jī)制的原理和應(yīng)用【java面試】

更新時(shí)間:2020-09-29 來源:黑馬程序員 瀏覽量:

(1)問題分析:

考官是對(duì)異常的考核。異常的分類,非檢查異常和檢查異常,try chtch finally的使用。

(2)核心答案講解:

所有異常的根類為Java.lang.Throwable.Throwable派生了2個(gè)子類:Error和Exception。

Error代表了JVM本身的錯(cuò)誤,不能被程序員通過代碼處理,如內(nèi)存溢出。

Exception 分為IoException和RuntimeException 。

Error 和 RuntimeException 以及他們的子類。Javac在編譯時(shí),不會(huì)提示和發(fā)現(xiàn)這樣的異常,不要求在程序處理這些異常稱之為非檢查異常,比如下標(biāo)越界。編譯器強(qiáng)制必須try.catch處理或throws聲明繼續(xù)拋給上層調(diào)用方法處理的異常稱之為檢查異常,比如使用jdbc連接數(shù)據(jù)庫(kù)的SQLException。try塊中放可能發(fā)生異常的代碼。每一個(gè)catch塊用于捕獲并處理一個(gè)特定的異常,或者這異常類型的子類,順序?yàn)閺男〉酱?。finally無論異常是否發(fā)生,異常是否匹配被處理,finally都會(huì)執(zhí)行。

(3)問題擴(kuò)展:

Spring框架的事務(wù)默認(rèn)是RuntimeException才進(jìn)行回滾,修改Transactional注解中的rollbackFor屬性可以指定為exception異?;貪L。

(4)結(jié)合項(xiàng)目中使用:

編寫自定義異常,利用throw拋出自定義異常。

猜你喜歡

java訪問級(jí)別介紹: private,protected,public和default的區(qū)別 

Java圖形界面編程教程 

單例模式介紹:懶漢和餓漢代碼

Java高級(jí)軟件工程師課程


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!