对于程序中出现异常,是很多程序员不想看到的情况,因为这就需要我们去查询异常的原因,然后进行一些处理异常的操作。在Java数组操作时,也会有一些异常情况的发生。这里我们罗列出了两种:ClassCastException和NullPointerException,下面我们来看一下具体的介绍。
1、异常种类
检查型异常和非检查型异常的主要区别在于其处理方式。检查型异常都需要使用try,catch 和finally 关键字在编译器进行处理,否则会出现编译器报错。对于非检查型异常则不需要这样做。Java中所有继承 Exception 的类的异常都是检查型异常,所有继承RuntimeException 的异常都被称为非检查型异常。
2、ClassCastException
类转换异常,将一个不是该类的实例转换成这个类就会抛出这个异常。
如将一个数字强制转换成字符串就会报这个异常:
1
2
|
Object x = new Integer( 0 );
System.out.println((String)x);
|
这是运行时异常,不需要手工捕获。
3、空指针异常NullPointerException
操作一个 null 对象的方法或属性时会抛出这个异常。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
//情况一:
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());
|
提示:一旦程序出现异常,未处理时,就终止执行。
内容扩展:
- 算术异常类:ArithmeticExecption
- 空指针异常类:NullPointerException
- 类型强制转换异常:ClassCastException
- 数组负下标异常:NegativeArrayException
- 数组下标越界异常:ArrayIndexOutOfBoundsException
- 违背安全原则异常:SecturityException
- 文件已结束异常:EOFException
- 文件未找到异常:FileNotFoundException
- 字符串转换为数字异常:NumberFormatException
- 操作数据库异常:SQLException
- 输入输出异常:IOException
- 方法未找到异常:NoSuchMethodException
到此这篇关于java数组中的异常类型整理的文章就介绍到这了,更多相关java数组中的异常有哪些内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/java/shuzu/23820.html