常见的几种异常类型-熟记

今天把几个常见的异常总结一下,希望自己能熟记,别忘记!!!

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)

 

原文地址:https://www.cnblogs.com/misscai/p/9581825.html