20240117 第2讲 Exception和Error有什么区别
0、NoClassDefFoundError 和 ClassNotFoundException 区别
- 继承关系
前者继承 Error ,后者继承 Exception ,并且是一个受检异常
try { Class.forName("com.example.MyClass"); } catch (ClassNotFoundException e) { e.printStackTrace(); }
- 出现时机
1、异常处理的两个原则
-
不要生吞异常
-
捕获特定异常
2、异常设定
-
定义异常
-
避免敏感信息打印
3、为啥 try-catch产生系统开销
4、try-catch/finally 和 return 的执行策略
5、受检异常和非受检异常的区别
1、都是继承自Exception
2、除了非受检异常和Error及其子类外的所有异常都是受检异常,受检异常编译时就需要进行try-catch或者选择抛出异常,否则编译不通过