檢查性異常和非檢查性異常


從網上查的資料進行整理

一、異常

1、所有的異常類是從 java.lang.Exception 類繼承的子類。Exception 類是 Throwable 類的子類。

2、所有的非檢查性異常都繼承自java.lang.RuntimeException。

3、所有的檢查性異常都繼承自java.lang.Exception,是RuntimeException以外的異常;

 

二、區別:

1、檢查性異常編譯器要檢查這類異常,檢查的目的一方面是因為該類異常的發生難以避免,另一方面就是讓開發者去解決掉這類異常,所以稱為必須處理(try ...catch)的異常。

如果不處理這類異常,集成開發環境中的編譯器一般會給出錯誤提示。

 

如果一個方法沒有捕獲一個檢查性異常,那么該方法必須使用 throws 關鍵字來聲明。throws 關鍵字放在方法簽名的尾部。

2、非檢查性異常編譯器不會檢查這類異常,不檢查的則開發者在代碼的編輯編譯階段就不是必須處理,這類異常一般可以避免,因此無需處理(try ...catch)。

如果不處理這類異常,集成開發環境中的編譯器也不會給出錯誤提示。

 

三、舉例

1、常見的運行時異常:空指針異常(NullPointerException)、除零異常(ArithmeticException)、數組越界異常(ArrayIndexOutOfBoundsException)等;

2、常見的檢查性異常:輸入輸出異常(IOException)、文件不存在異常(FileNotFoundException)、SQL語句異常(SQLException)等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM