代码如下
try {
log.info(A);
代码;
log.info(B);
} catch (Exception e) {
log.info(C);
} finally {
log.info(D);
}
现象如下
打印出
A;
D;
原因如下
代码中报的错误是java.lang.NoClassDefFoundError;这个错误属于Error错误。
Error与Exception关系如下:
Throwable的两个子类Error和Exception
Exception的两个子类CheckedException和RuntimeException
所以!
NoClassDefFoundError这个异常没有被Exception捕获,也没有在日志中打印出来。
解决方式
就是把
catch (Exception e)
改成
catch (Throwable throwable)