Java中用2種方法處理異常:數組
1.在發生異常的地方直接處理;繼承
2.將異常拋給調用者,讓調用者處理。內存
Java異常可分爲3種:開發
(1)編譯時異常:Java.lang.Exception編譯器
(2)運行期異常:Java.lang.RuntimeExceptionio
(3)錯誤:Java.lang.Error編譯
Java.lang.Exception和Java.lang.Error繼承自Java.lang.Throwable;軟件
Java.lang.RuntimeException繼承自Java.lang.Exception.bug
編譯時異常: 程序正確,但由於外在的環境條件不知足引起。例如:用戶錯誤及I/O問題----程序試圖打開一個並不存在的遠程Socket端口。這不是程序自己的邏輯錯誤,而極可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟件系統,程序開發者必須考慮並處理這個問題。Java編譯器強制要求處理這類異常,若是不捕獲這類異常,程序將不能被編譯。程序
運行期異常: 這意味着程序存在bug,如數組越界,0被除,入參不知足規範.....這類異常須要更改程序來避免,Java編譯器強制要求處理這類異常。
錯誤: 通常不多見,也很難經過程序解決。它可能源於程序的bug,但通常更可能源於環境問題,如內存耗盡。錯誤在程序中無須處理,而有運行環境處理。