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数组常见的异常及解决方法的详细内容。