java的异常处理在面试中通常是个敏感的话题,这里我从整体框架方面稍微作一下我的小结。
java的异常都继承Throwable这个类,也就是都可以抛出来的异常,在这个祖先类下,又分为如下子类:
1、Error类,这类异常通常是由系统产生的,也就是系统的错误,是我们程序员控制不了也处理不了的。
2、Exception类:这个类称为可以处理的异常,又分为两种
(1)一种是必须逮的异常,例如我们对文件进行I/O读取时,有可能文件会不存在,会读不到,引起这个错误的不是你编的程序本身,而是出在文件上,因此这种错误就必须逮。如果不逮你的程序编译就不会通过。
(2)还有一种是RuntimeException,这种异常是可逮可不逮的,区别于(1)中必须逮的异常,就在于这类异常你不去逮你的程序也可以编译通过然后跑起来,但是跑的时候就会报错了。
再提两点编码规范:
1、逮异常的时候,要养成先逮小异常再逮大异常的好习惯。
2、重写方法时,必须抛出与原方法类型一致的异常,或者不抛出异常。
请大家多多指正,共同进步!!!