1. 程式人生 > >檢查異常和不可查的異常

檢查異常和不可查的異常

通常,Java的異常(包括Exception和Error)分為 可查的異常(checked exceptions)和不可查的異常(unchecked exceptions) 。 
       可查異常(編譯器要求必須處置的異常): 正確的程式在執行中,很容易出現的、情理可容的異常狀況 。 可查異常雖然是異常狀況,但在一定程度上它的發生是可以預計的,而且一旦發生這種異常 狀況,就必須採取某種方式進行處理。

      除了RuntimeException及其子類以外,其他的Exception類及其子類都屬於可查異常。這種異常的特點是Java編譯器會檢查它,也就是說,當程式中可能出現這類異常,要麼用try-catch語句捕獲它,要麼用throws子句宣告丟擲它,否則編譯不會通過。

      不可查異常(編譯器不要求強制處置的異常):包括執行時異常(RuntimeException與其子類)和錯誤(Error)。



1. 粉紅色的是受檢查的異常(checked exceptions),其必須被 try{}catch語句塊所捕獲,或者在方法簽名裡通過throws子句宣告.受檢查的異常必須在編譯時被捕捉處理,命名為 Checked Exception 是因為Java編譯器要進行檢查,Java虛擬機器也要進行檢查,以確保這個規則得到遵守. 2. 綠色的異常是執行時異常(runtime exceptions),需要程式設計師自己分析程式碼決定是否捕獲和處理,比如 空指標,被0除... 3. 而宣告為Error的,則屬於嚴重錯誤,如系統崩潰、虛擬機器錯誤、動態連結失敗等,這些錯誤無法恢復或者不可能捕捉,將導致應用程式中斷,Error不需要捕捉。