簡(jiǎn)述java異常處理機(jī)制 java常用的異常類有哪些?
java常用的異常類有哪些?謝謝!錯(cuò)誤和異常都繼承自throwable。錯(cuò)誤是指程序不必處理的系統(tǒng)級(jí)錯(cuò)誤和異常,如內(nèi)存溢出,這是程序無法處理的;異常是指程序需要捕獲或處理的異常,這是編程或編碼中的問題
java常用的異常類有哪些?
謝謝
!錯(cuò)誤和異常都繼承自throwable。
錯(cuò)誤是指程序不必處理的系統(tǒng)級(jí)錯(cuò)誤和異常,如內(nèi)存溢出,這是程序無法處理的;
異常是指程序需要捕獲或處理的異常,這是編程或編碼中的問題。
未檢查的異常:錯(cuò)誤和runtimeException及其子類。Java編譯器在編譯時(shí)不會(huì)發(fā)現(xiàn)此異常,因此不需要程序來處理此異常。當(dāng)然,try、catch和finally也可以用來處理這個(gè)異常。當(dāng)出現(xiàn)這樣的異常時(shí),大多數(shù)都是代碼編寫中的問題,應(yīng)該通過修改代碼而不是捕獲來解決,比如ClassCastException、NullPointerException等
Checked exception:除了error和runtimeException。Java編譯器在編譯時(shí)會(huì)發(fā)現(xiàn)這種異常,因此必須對(duì)這種異常進(jìn)行預(yù)處理,即使用try、catch和finally來處理這種異常,或者用throws子句將其拋出到上層,否則編譯將無法通過。當(dāng)這種異常通常是由程序的運(yùn)行環(huán)境引起的,如sqlexception、IOException等時(shí),我們需要提前處理可能出現(xiàn)的異常。
檢查性異常有哪些?
Java中有兩種類型的異常:checked exception和unchecked exception。對(duì)于未檢查的異常,也稱為runtimeException。
處理未檢查異常的幾種方法:1。捕獲;
2。繼續(xù)投擲;
3。不要處理。
有幾種方法可以處理選中的異常(除了runtimeException,其他異常都是選中的異常):
1。繼續(xù)拋出,否定方法,可以隨時(shí)拋出到Java虛擬機(jī)來處理;
2。使用try。。。接二連三。
java的異常類型有哪兩種?
java里什么時(shí)候需要自己定義異常類?使用自定義異常與系統(tǒng)異常有何差別?
在java開發(fā)中,最常見的自定義異常是(名稱不唯一,可以自定義)businessexception extensions RuntimeException,稱為“業(yè)務(wù)異?!?;這個(gè)異常非常有用,主要用于事務(wù)回滾場(chǎng)景。在您的業(yè)務(wù)代碼邏輯中,因?yàn)橐欢未a已經(jīng)在持久層上操作了很多次,但是當(dāng)您繼續(xù)往下走時(shí),您會(huì)發(fā)現(xiàn)某個(gè)條件不滿足,業(yè)務(wù)邏輯代碼就不允許再執(zhí)行了。此時(shí),需要返回錯(cuò)誤代碼,不能回滾已經(jīng)執(zhí)行了持久層操作的東西
!,怎么辦?此時(shí),使用mybusinessexception拋出異常,并返回異常中的錯(cuò)誤代碼。它可以實(shí)現(xiàn)業(yè)務(wù)回滾和錯(cuò)誤代碼返回。一石二鳥!多美?。這個(gè)技巧應(yīng)該是平時(shí)開發(fā)框架中經(jīng)常遇到的,房東應(yīng)該多注意總結(jié)!右