java異常分類(lèi)三大類(lèi) java常用的異常類(lèi)有哪些?
java常用的異常類(lèi)有哪些?謝謝!錯(cuò)誤和異常都繼承自throwable。錯(cuò)誤是指程序不必處理的系統(tǒng)級(jí)錯(cuò)誤和異常,如內(nèi)存溢出,這是程序無(wú)法處理的;異常是指程序需要捕獲或處理的異常,這是編程或編碼中的問(wèn)題
java常用的異常類(lèi)有哪些?
謝謝
!錯(cuò)誤和異常都繼承自throwable。
錯(cuò)誤是指程序不必處理的系統(tǒng)級(jí)錯(cuò)誤和異常,如內(nèi)存溢出,這是程序無(wú)法處理的;
異常是指程序需要捕獲或處理的異常,這是編程或編碼中的問(wèn)題。
未檢查的異常:錯(cuò)誤和runtimeException及其子類(lèi)。Java編譯器在編譯時(shí)不會(huì)發(fā)現(xiàn)此異常,因此不需要程序來(lái)處理此異常。當(dāng)然,try、catch和finally也可以用來(lái)處理這個(gè)異常。當(dāng)出現(xiàn)這樣的異常時(shí),大多數(shù)都是代碼編寫(xiě)中的問(wèn)題,應(yīng)該通過(guò)修改代碼而不是捕獲來(lái)解決,比如ClassCastException、NullPointerException等
Checked exception:除了error和runtimeException。Java編譯器在編譯時(shí)會(huì)發(fā)現(xiàn)這種異常,因此必須對(duì)這種異常進(jìn)行預(yù)處理,即使用try、catch和finally來(lái)處理這種異常,或者用throws子句將其拋出到上層,否則編譯將無(wú)法通過(guò)。當(dāng)這種異常通常是由程序的運(yùn)行環(huán)境引起的,如sqlexception、IOException等時(shí),我們需要提前處理可能出現(xiàn)的異常。
java的異常類(lèi)型有哪兩種?
Throwable包括錯(cuò)誤和異常。異常包括運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常。(1) 錯(cuò)誤是程序無(wú)法處理的。如果outofmemoryerror、outofmemoryerror等等,當(dāng)這些異常發(fā)生時(shí),Java虛擬機(jī)將終止線程。(2) 運(yùn)行時(shí)異常是r Untimeexception類(lèi)及其子類(lèi),如NullPointerException、indexoutofboundsexception等,這些異常不被檢查。它們可能在程序運(yùn)行時(shí)發(fā)生,因此程序可以捕獲它們或不捕獲它們。這些錯(cuò)誤通常是由程序的邏輯錯(cuò)誤引起的,程序應(yīng)該從邏輯的角度盡量避免這些錯(cuò)誤。(3) 異常檢查是運(yùn)行時(shí)異常檢查的關(guān)鍵,異常是異常及其子類(lèi)。從程序的角度來(lái)看,這些異常必須通過(guò)捕獲檢查來(lái)處理,否則就無(wú)法編譯,如IOException、sqlexception等