1. 程式人生 > >java兩種異常型別

java兩種異常型別

Throwable包含了錯誤(Error)和異常(Excetion兩類) Exception又包含了執行時異常

java有倆種異常型別:受檢查異常和執行時異常((RuntimeException, 又叫非檢查異常 )

檢查異常,這些異常從程式的角度來說是必須經過捕捉處理的,否則編譯通不過,比如IOException,SQLException。

不受檢查異常:

可分為Error和執行時異常,Error是程式無法處理的如OutOfMemoryError,如果出現Error,java虛擬機器會終止執行緒。

執行時異常,如RunTimeException,IndexOutOfBoundsException,NullPointerException,這些異常一般是由程式的邏輯錯誤引起的,解決此類異常應該仔細排查程式,不需要進行檢查。

兩者的區別

        非檢查異常表示無法讓程式恢復執行的異常,導致這種異常的原因通常是由於執行了錯誤的操作。一旦出現錯誤,建議讓程式終止。

受檢查異常表示程式可以處理的異常。如果丟擲異常的方法本身不處理或者不能處理它,那麼方法的呼叫者就必須去處理該異常,否則呼叫會出錯,連編譯也無法通過。

對於執行異常,建議不要用 try...catch...捕獲處理,應該在程式開發除錯的過程中儘量的避免,當然有一些必須要處理的,自己知道了那個部分會出現異常,而這種異常你要把它處理的你想要的結果,例如:空值處理。

附上java異常類結構圖

è¿éåå¾çæè¿°