Java常见异常类型及原因分析(下)

这里介绍几种常见的异常并对原因进行分析,包括:

  • ArrayIndexOutOfBoundsException异常;
  • UnsupportedClassVersionError错误;
  • NumberFormatException异常;
  • 堆栈溢出和内存溢出。

3. ArrayIndexOutOfBoundsException异常

这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界,下面就是一个错误实例:

 Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException:2
 at test4.State.nextStates(State.java93)
 at test4.State.main(State.java:478)

从这些提示信息中可以获取如下信息:
1) 错误发生在93行
2)发生错误的时候,下标的值为2
接下来分析为什么下标值是2不可以就解决问题了。

4. UnsupportedClassVersionError

错误提示如下:

 java.lang.UnsupportedClassVersionError:Bad version number in.class file

错误原因:
编译Java和运行Java所使用的Java的版本不一致。例如,编译的时候使用的Java版本是6,运行时候使用的Java版本是5。
解决方案:
修改运行环境的Java版本或者修改编译环境的Java版本,让两者保持一致。

5. NumberFormatException异常

数字转换异常,在把一个表示数字的字符串转换成数字类型的时候可能会报这个异常,原因是作为参数的字符串不是由数字组成的。

6. 堆栈溢出和内存溢出

在递归调用的时候可能会产生堆栈溢出的情况,因为在递归调用的时候需要把调用的状态保存起来,如果递归的深度达到一定程度,将产生堆栈溢出的异常。
如果虚拟机的内存比较小,而程序对内存的要求比较高,则可能产生内存溢出错误。


常见的异常类

异常说明
RuntimeExceptionJava.lang包中多数异常的基类
ArithmeticException算术错误,如除以0
IllegalArgumentException方法收到非法参数
SecurityException试图违反安全性
ClassNotFoundException不能加载请求的类
AWTExceptionAWT中的异常
IOExceptionI/O异常的根类
FileNotFoundException不能找到文件
EOFException文件结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值