Exception和Error的区别?

​​​​​​Exception和Error都是集成了Throwable类。

Exception是程序运行中,可以预料的以外情况,可被捕获并能进行相应的处理。

Exception可分为checked 和 unchecked,checked必须要进行显示捕获。

Error是正常情况下,不大可能出现的情况,绝对部分的的Error都会导致程序 处于非正常,不可回恢复的状态。

如outofmemoryerror、noclassdefoundError。。。。

在正常程序开发中,

一、如果需要捕获checked 异常,不能直接捕获Exception 而要捕获细分异常。、

并对细分异常 进行处理。

二、异常不能生吞,会导致程序发生问题 无法诊断。

三、异常不要延迟抛出,如果不能即时处理,就直接想上抛出

四、不要用异常来控制流程

经典问题

1,noclassdefoundError和classnotfoundException区别。

noclassdefoundError是jvm没有找到相关的类定义,发生错误。

classnotfoundException是jvm运行是 没有找到相关的class文件

 

 

你可能感兴趣的:(java基础,由常见面试理解java)