一个图五个关键字,自定义异常并使用,异常和重写的关系,先捕获小的再捕获大的,简单认识。
一个图
Error: 系统出错,虚拟机出错,我们处理不了,也不需要我们来处理。
Exception :
1,可以捕获的异常,我们必须作出相应处理。也就是要么捕获异常并作出处理,要么继续抛出异常。
2, 一般在API中别人写的方法有throws的情况下,在调用这个方法的时候,必须捕获异常进行相应处理,如果处理不了,则继续抛出异常。
RuntimeException :
1, 是经常性出现的错误。
2,可以捕获,捕获到了作出相应处理;可以不捕获;也可以不用抛出。
3,ArrayIndexOutofBoundsException 像这种异常可以不捕获,为什么呢?在一个程序里,使用很多数组,如果使用一次捕获一次,则很累。
五个关键字:
try catch finally throws throw 理解清楚每个关键字的含义和使用场景
自定义异常并使用:
1, 继承Exception类并声明自己的异常类。
2,在方法声明部分使用throws语句声明该方法可能抛出的异常。
3,在方法适当位置生成自定义异常的实例,并用throw语句抛出。
异常和重写的关系 : 继承某个异常时,重写方法时,要么不抛出异常,要么抛出一模一样的异常。
先捕获小的异常再捕获大的异常 : 当一个try后跟了多个catch时,就必须采用这种规则。
简单认识:
1,观察错误的名称和行号是最为关键的。
2,运行期出现的错误可以捕获,也可以不捕获。
3,捕获到的异常,一定要进行相关处理,处理不的,就抛出异常。有什么异常都应该具体抛出什么异常,不应该抛出总异常;一个try后跟了多个catch时,具体捕获到什么类型的异常一定按照小范围大范围。
4,有时候一个异常发生了,控制台打印了许多行信息,是因为程序中进行多层方法调用造成的。关键是看异常类型和行号。
5,程序是一步一步反复调试出来的而不是一次写出来的。