Throwable是Java錯誤處理的父類,有兩個子類:Error和Exception。java
Error:沒法預期的嚴重錯誤,致使JVM虛擬機沒法繼續執行,幾乎沒法恢復捕捉的程序員
Exception:可恢復捕捉的。java健壯程序的手段。數組
Java提供了兩類主要的異常:runtime exception和checked exception (編譯時被檢查的異常)。線程
checked exception (編譯時被檢查的異常):JAVA編譯器強制要求咱們必需對出現的這些異常進行catch或throws。因此,面對這種異常無論咱們是否願意,只能寫一大堆catch塊或throws去處理可能的異常。指針
如IO異常,以及SQL異常等。編譯器
runtime exception:編譯經過,但運行通不過,出現RuntimeException,一般是程序員出錯。虛擬機接管會終止線程或主程序。如錯誤的類型轉換、數組越界訪問和訪問空指針等虛擬機
最多見到的runtime exceptionit
一、NullPointerException:io
int a1[]=null;
System.out.print(a1[2]);編譯
二、ArrayIndexOutOfBoundsException
int a[]={2,3,5,32,6};
for (int i = 0; i <6; i++)
{
System.out.print(a[i]);
}
三、ClassCastException
Object i=new Integer(1);
System.out.println((String)i);
四、ArithmeticException
int a=5/0;
五、NegativeArraySizeException
String[] s=new String[-10];