本教程操作环境:windows7系统、java10版,DELL G3电脑。
1、异常种类
检查型异常和非检查型异常的主要区别在于其处理方式。检查型异常都需要使用try,catch 和finally 关键字在编译器进行处理,否则会出现编译器报错。对于非检查型异常则不需要这样做。Java中所有继承 Exception 的类的异常都是检查型异常,所有继承RuntimeException 的异常都被称为非检查型异常。
2、ClassCastException
类转换异常,将一个不是该类的实例转换成这个类就会抛出这个异常。
如将一个数字强制转换成字符串就会报这个异常:
Object x = new Integer(0); System.out.println((String)x);
这是运行时异常,不需要手工捕获。
3、空指针异常NullPointerException
操作一个 null 对象的方法或属性时会抛出这个异常。
//情况一: int[] arr1 = new int[]{1,2,3}; arr1 = null; System.out.println(arr1[0]); //情况二: int[][] arr2 = new int[4][]; System.out.println(arr2[0][0]); //情况: String[] arr3 = new String[]{"AA","BB","CC"}; arr3[0] = null; System.out.println(arr3[0].toString());
提示:一旦程序出现异常,未处理时,就终止执行。
以上就是java数组中的两种异常,相信有些小伙伴也遇到过这种情况。当然java数组中的异常种类也不止于此,大家感兴趣的可以在课后查询资料。更多Java学习指路:java数组