JAVA中八个常见异常中文解释和异常原因解析
编译时抛出异常(check):
ClassNotFoundException
- 异常名称:找不到对应类异常
- 异常产生原因:
(1)文件中根本就不存在该类的配置或者配置的路径写错
(2)文件存在,但是项目中的类名字写错
(3)类放错了文件夹
CloneNotSupportedException
- 异常名称:不支持克隆异常
- 异常产生原因:
(1)在调用clone方法shift,没有实现cloneable接口
运行时抛出异常(uncheck)
RunTimeException(以下五种异常都属于运行时异常)
- 异常名称:运行时异常
- 异常产生原因:
(1)因为疏忽和错误而引起的异常,常常在编译时无错误,而是在运行时报错。
ArithmeticException
- 异常名称:算数逻辑异常
- 异常产生原因:
(1)没有对0进行考虑,因为在进行一些算术运算的时候除数不能为0.(divide by zero)
NullPointerException
- 异常名称:空指针异常
- 异常产生原因:
(1)字符串变量未初始化。
(2)对象空间为空时,调用方法和属性。
(3)接口类型没有用具体的类初始化
ArrayIndexOutOfBoundsException
- 异常名称:数组索引(下标)越界异常
- 异常产生原因:
(1)访问数组时超出数组索引(下标)范围。
ClassCastException
- 异常名称:类型转换异常
- 异常产生原因:
(1)将数字类型转换成字符串类型
(2)将一个对象投射到一个子类,而子类不是一个实例。如:
Object obj = new Integer(0);
System.out.println(obj);
NumberFormatException
- 异常名称:数字格式化异常
- 异常产生原因:
(1)将String类中非数字内容转化为数字类型
如:String str = “1a”;
int x = Integer.parseInt(str);//将会出现异常 字符串中的a无法转换为数字。
(2)超出转换类型数值范围。
如:String [] str = {“8654897465”};
int x = Integer.parseInt(str[0]);//8654897465 超出int数值范围将报异常。