1.Exception是在项目运行中我们可以预测的系统错误和bug,我们可以对Exception进行跑出和捕获,对Exception进行处理;
2.Error是项目运行中不可预测的系统问题,我们可以对Error进行捕获,但是如果没有好的处理办法的话建议不要对Error进行捕获和处理,这样上线项目在运行中问题并无法处理;
3.Exception和Error都继承于Throwable类型,java中只有继承Throwable类型才能被声明(thows)和捕获(catch);
4.掌握Exception
第一:掌握常见的Exception类型,主要分成两类IOException和RuntimeException,RuntimeException中有如NullException,ClassNotFoundException这些具体异常类型;
第二:掌握自定义异常,在业务项目中我们需要定义一些自定义异常对业务逻辑的具体问题的捕获;
5.掌握Error,Error也有一些子类NoClassDefFoundError等,我们可以对这些Error进行捕获和声明抛出,但是不建议操作,因为在业务流程中这些不在考虑中的Error我们并没有好的办法进行处理;
6.NoClassDefFoundError和ClassNotFoundException的区别:NotClassDefFoundError是当操作该类时,calss-path中没有该类的信息,而ClassNotFoundExcption是在系统运行时通过名称在Runtime中动态加载中,该类不存在。