现象:
} catch (Exception ne) {
没有抓到空指针异常
抛出的log:
[http-nio-8080-exec-10] ERROR - #######:Unexpected error, tx will rb! Info::queryDataSetForSumDimSectionSet::java.lang.reflect.Method
java.lang.NullPointerException
检查发现:
为什么Exception罩不住:
因为这个问题抛出的是 Error。
开发过程中,一般Exception就能罩所有问题,因为有IDE看着场子,编译错误都能及时被发现。
而Error 和 Exception平级,谁也罩不住谁,它们都继承于Throwable。
如果用一个Throwable来catch 就会发现:
} catch (Throwable e) {
错误 被抓住了。