在这里我们例举十种常见的运行时异常

目录

NullPointerException - 空指针引用异常

ClassCastException - 类型强制转换异常。

IllegalArgumentException - 传递非法参数异常。

ArithmeticException - 算术运算异常

ArrayStoreException - 向数组中存放与声明类型不兼容对象异常

IndexOutOfBoundsException - 下标越界异常

NegativeArraySizeException - 创建一个大小为负数的数组错误异常

NumberFormatException - 数字格式异常

SecurityException - 安全异常

UnsupportedOperationException - 不支持的操作异常

1.NullPointerException - 空指针引用异常

调用 null 对象的实例方法。访问或修改 null 对象的字段。将 null 作为一个数组,获得其长度。将 null 作为一个数组,访问或修改其时间片。将 null 作为 Throwable 值抛出。

public class Demo {

public static void main(String[] args){

String str=null;

System.out.println(str.length());

//调用null对象的实例化方法

//获得其长度

System.out.println(getString(str));

}

public static int getString(String str){

if (str==null)

throw new NullPointerException("参数不能为空");

return 0;

}

}

2.ClassCastException - 类型强制转换异常。

当试图将对象强制转换为不是实例的子类时,这里我们需要知道类强制转换的要求:

只能在继承层次内进行类型转换。

在将超类转换成子类之前,应该使用 instanceof进行检查

3.IllegalArgumentException - 传递非法参数异常。

4.ArithmeticException - 算术运算异常

5.ArrayStoreException - 向数组中存放与声明类型不兼容对象异常

6.IndexOutOfBoundsException - 下标越界异常

7.NegativeArraySizeException - 创建一个大小为负数的数组错误异常

8.NumberFormatException - 数字格式异常

9.SecurityException - 安全异常

10.UnsupportedOperationException - 不支持的操作异常