java中的Checked Exception和Unchecked Exception的區別


Java 定義了兩種異常:

  - Checked exception: 繼承自 Exception 類是 checked exception。代碼需要處理 API 拋出的 checked exception,要么用 catch 語句,要么直接用 throws 語句拋出去。

  - Unchecked exception: 也稱 RuntimeException,它也是繼承自 Exception。但所有 RuntimeException 的子類都有個特點,就是代碼不需要處理它們的異常也能通過編譯,所以它們稱作 unchecked exception。RuntimeException(運行時異常)不需要try...catch...或throws 機制去處理的異常。

NullpointerException 的繼承級別。 

 

NullpointerException 繼承自 RuntimeException,所以它是個 unchecked exception。

 最常用的五種RuntimeException:    

 

 ArithmeticException

int a=0;
int b= 3/a;

 ClassCastException:

Object x = new Integer(0);
System.out.println((String)x);

 IndexOutOfBoundsException
    ArrayIndexOutOfBoundsException,
    StringIndexOutOfBoundsException 

int [] numbers = { 1, 2, 3 };
int sum = numbers[3];

IllegalArgumentException
    NumberFormatException

int a = Interger.parseInt("test");

NullPointerExceptionextends

 

 

小結:

檢查性異常: 不處理編譯不能通過

非檢查性異常:不處理編譯可以通過,如果有拋出直接拋到控制台。

運行時異常: 就是非檢查性異常

非運行時異常: 就是檢查性異常

 


免責聲明!

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



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