java基礎面試題:運行時異常與通常異常有何異同?error和exception有什麼區別? 請寫出你最多見到的5個runtimeexception?

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];

相關文章
相關標籤/搜索