JAVA常見(jiàn)的五種運(yùn)行異常 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)的異常。
常見(jiàn)的java異常有哪些?都是什么意思?
1. 算術(shù)異常-在算術(shù)運(yùn)算中,除以0或模。
2. ArrayIndexOutOfBoundsException—數(shù)組越界訪問(wèn)。
3. Arraystoreexception—寫(xiě)入數(shù)組操作時(shí)數(shù)據(jù)存儲(chǔ)異常、對(duì)象或數(shù)據(jù)類(lèi)型不兼容。
4. ClassCastException—類(lèi)型轉(zhuǎn)換異常。
5. Illegalargumentexception-方法的參數(shù)無(wú)效。
6. Illegalthreadstateexception—試圖非法更改線程的狀態(tài),例如試圖啟動(dòng)已運(yùn)行的線程。
7. NullPointerException-試圖訪問(wèn)空對(duì)象的空數(shù)組的變量、方法或元素
8。Numberformatexception—數(shù)據(jù)格式異常,試圖非法將字符串轉(zhuǎn)換為數(shù)值(反之亦然)。
9. SecurityException—如果小程序嘗試執(zhí)行WWW瀏覽器安全設(shè)置禁止的操作。
10. 不兼容的classchangeexception—如果更改類(lèi)的定義而不重新編譯引用該類(lèi)的其他對(duì)象。例如,成員變量的聲明從靜態(tài)更改為非靜態(tài),但引用該變量的其他類(lèi)不會(huì)重新編譯,反之亦然。
11. OutOfMemoryException—內(nèi)存不足,通常在創(chuàng)建對(duì)象時(shí)。
12. Noclassdeffoundexception-Java運(yùn)行時(shí)系統(tǒng)找不到引用的類(lèi)。
13. 不兼容的typeexception—試圖實(shí)例化Java運(yùn)行時(shí)系統(tǒng)將拋出的接口。
14. 如果要調(diào)用的方法是C函數(shù),但Java運(yùn)行時(shí)系統(tǒng)無(wú)法連接到該函數(shù)。
15. 內(nèi)部異常-由內(nèi)部系統(tǒng)故障引起的異常,這可能是由于Java運(yùn)行時(shí)系統(tǒng)本身引起的。如果你發(fā)現(xiàn)一個(gè)可復(fù)制的內(nèi)部異常,你可以直接給sun發(fā)郵件java@java.Sun.com.