NullPointerException空指针异常
- 当应用程序试图在需要对象的地方使用null 时,抛出该异常。
举例:
public class Main {
public static void main(String[] args) {
String name = null;
System.out.println(name.length());
}
}
ArithmeticException数学运算异常
当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
举例:
public class Main {
public static void main(String[] args) {
int a = 2;
int b = 0;
System.out.println(a / b);
}
}
ArraylndexOutOfBoundsException数组下标越界异常
非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引
举例:
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,4};
for (int i = 0; i <= arr.length; i++) {
System.out.println(arr[i]);
}
}
}
ClassCastException类型转换异常
当试图将对象强制转换为不是实例的子类时,抛出该异常。
举例:
public class Main {
public static void main(String[] args) {
A b = new B(); //向上转型
B b2 = (B)b;//向下转型,这里是OK
C c2 = (C)b;//这里抛出ClassCastException
}
}
class A {}
class B extends A {}
class C extends A {}
NumberFormatException数字格式不正确异常
当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常=>使用异常我们可以确保输入是满足条件数字.
- 举例:
public class Main {
public static void main(String[] args) {
String num = "1234";
String name = "WTY2002";
//将String 转成 int
int num1 = Integer.parseInt(num);//ok
System.out.println(num1);//1234
int num2 = Integer.parseInt(name);//抛出NumberFormatException
System.out.println(num2);
}
}