在这里我们例举十种常见的运行时异常
目录
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 - 不支持的操作异常