1. 程式人生 > >java常見的5種異常舉例

java常見的5種異常舉例

在Java學習過程中,我們會碰到各種各樣的異常,現將面試過程中遇到的常見異常做一羅列並舉例:

1.NullPointerException: 空指標異常。菜鳥程式設計經驗發現這個異常是經常會發生的,屬於執行時異常。

舉例:

public static void main(String[] args) {
String str = null;
//此處報空指標異常
System.out.println(str.length());
}

控制檯輸出的異常資訊為:

Exception in thread "main" java.lang.NullPointerException
at cn.com.gjw.MyClass.main(MyClass.java:7)

2.ClassCastException: 型別強制轉換異常。Java的一些語法知識不太熟悉的時候會發生的異常。

舉例:

public static void main(String[] args) {
// 型別強制轉換異常
Object x = new String("String");
System.out.println((Integer) x);
}

控制檯輸出的異常資訊為:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at cn.com.gjw.MyClass.main(MyClass.java:7)

3.ArrayIndexOutOfBoundsException: 陣列下標越界異常。特別常見的一個異常,粗心的程式設計師都會犯的錯誤。

舉例:

public static void main(String[] args) {
int arr[] = {1,2};
// 此處報陣列下標越界異常
System.out.println(arr[2]);
}

控制檯輸出的異常資訊為:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at cn.com.gjw.MyClass.main(MyClass.java:7)

4.ArithmeticException:算術運算異常。算術跟我水平差不多的你有沒有犯過類似的錯誤呢??

舉例:

public static void main(String[] args) {
// 整數0做了分母,報算術運算異常
System.out.println(1 / 0);
}

控制檯輸出的異常資訊為:

Exception in thread "main" java.lang.ArithmeticException: / by zero
at cn.com.gjw.MyClass.main(MyClass.java:6)

5.NumberFormatException: 數字格式異常。什麼是數字格式異常呢?一個例子說明一切。

舉例:

public static void main(String[] args) {
// 將字串“it”轉換為Integer型別的,當然會報數字格式異常啦
System.out.println(Integer.parseInt("it"));
}

控制檯輸出的異常資訊為:

Exception in thread "main" java.lang.NumberFormatException: For input string: "it"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at cn.com.gjw.MyClass.main(MyClass.java:6)

以上是Java中常見的五種異常及相應的例子,Java中還有很多類似的異常等著我們去發現,這只是冰山一角中的一點。。。