更新時(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ū)別
【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營(yíng)】深圳跨境電商運(yùn)營(yíng)畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個(gè)工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)5個(gè)工作日就業(yè)率98.18%,最高薪資 17.5k*13薪,全班平均薪資9244元
2025-09-19