Java学习 -- 异常类

异常类

在这里插入图片描述

1、Expection(异常):是程序本身可以处理的异常。
2、 Error(错误):是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。
3、检查异常(编译器要求必须处理的异常): 除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是java编译器会检查它,也就是说,当程序中出现这两类异常时,要么用try-catch语句捕获他,要么用throws子句声明抛出它,否则编译不会通过。
4、非检查异常(编译器不要求处置的异常):包括运行时的异常(RuntimeException与其子类)和错误(Error)。

检查异常

也叫做编译异常,非运行时异常 。程序正确,但因为外在的环境条件不满足引发。例如:这不是程序本身的逻辑错误,Java编译器强制要求必须处理这类异常,如果不去处理这个异常,程序就会报错。(读取一个硬盘上图片,读取的代码逻辑是正确的,但是这个图片所在的硬盘可能出现坏道,就没法读取这个文件,未雨绸缪提前检测可能会有读取硬盘问题)

处理该异常共有两种方法:
1、try-catch捕获这个异常,自己处理了这个异常
2、throws抛出异常,我不处理这个异常,抛出异常

运行异常 RuntimeException

这类异常需要更改程序来避免,Java编译器强制要求处理这类异。如果抛出运行时异常,是要根据抛出的异常的信息去分析程序的错误,在写代码时候绝大部分情况下不去try-catch运行时异常。如:程序存在bug,如数组越界,0被除,空指针…

常见异常

运行时异常:
ArrayIndexOutOfBoundsException: 数组下标越界
NullPointerException: 空指针异常(引用数据类型)
NumberFormatException: 数字格式化异常
StringIndexOutOfBoundsException: 字符串下标越界
ClassCastException:类型强制转换异常
IllegalArgumentException:传递非法参数异常
ArithmeticException:算术运算异常
ArrayStoreException:向数组中存放于声明类型不兼容对象异常
NegativeArraySizeException:创建一个大小为负数的数组错误异常
SecurityException:安全异常
UnsupportedOperationException:不支持的操作异常

编译异常:
SQLException:操作数据库异常
IOException:输入输出异常
FileNotFoundException:文件未找到异常
ReflectiveOperationException:反射操作异常
ClassNotFoundException:类未找到异常:
NoSuchMethodException:方法未找到异常
NoSuchFieldException:字段未找到异常:
IllegalAccessException:非法访问权限异常
InstantiationException:实例化异常
CloneNotSupportedException:不支持克隆异常
InterruptedException:被中止异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值