Exception和Error都是集成了Throwable类。
Exception是程序运行中,可以预料的以外情况,可被捕获并能进行相应的处理。
Exception可分为checked 和 unchecked,checked必须要进行显示捕获。
Error是正常情况下,不大可能出现的情况,绝对部分的的Error都会导致程序 处于非正常,不可回恢复的状态。
如outofmemoryerror、noclassdefoundError。。。。
在正常程序开发中,
一、如果需要捕获checked 异常,不能直接捕获Exception 而要捕获细分异常。、
并对细分异常 进行处理。
二、异常不能生吞,会导致程序发生问题 无法诊断。
三、异常不要延迟抛出,如果不能即时处理,就直接想上抛出
四、不要用异常来控制流程
经典问题
1,noclassdefoundError和classnotfoundException区别。
noclassdefoundError是jvm没有找到相关的类定义,发生错误。
classnotfoundException是jvm运行是 没有找到相关的class文件