1. 程式人生 > >常見的幾種異常類型-熟記

常見的幾種異常類型-熟記

常見 -s 數組 form tst 發現 main 編程經驗 知識

今天把幾個常見的異常總結一下,希望自己能熟記,別忘記!!!

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)

常見的幾種異常類型-熟記