概念:代码运行当中可能出现的不正常情况
-
java当中将这些已经预见到的不正常情况,封装成了类.即异常类.
-
产生异常:
-
当满足了异常产生条件时,会执行以下两个动作
-
创建异常对象
-
抛出异常对象
-
执行完该两个动作后,叫做产生了异常,只是这个过程是java自动执行的,我们看不到.
-
异常分类:
-
Throwable
-
Error(程序无法处理)
-
Exception(可以通过程序处理的)
-
编译期异常(编译过程报错,必须处理)
-
运行期异常RuntimeException(编译期可以不处理,但是运行时可能会报错)
-
处理:
-
捕获处理
-
声明抛出处理
常见运行时异常:空指针异常,索引越界异常,类型转换异常
-
声明抛出处理
-
捕获处理
A:异常注意事项
a:子类重写父类方法时,子类的方法必须抛出相同的异常或父类异常的子类。(父亲坏了,儿子不能比父亲更坏)
b:如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他的子集,子类不能抛出父类没有的异常
c:如果被重写的方法没有异常抛出,那么子类的方法绝对不可以抛出异常,如果子类方法内有异常发生,那么子类只能try,不能throws