捕获异常,我们经常是使用的语句是try catch
try {
throw new NullPointerException("【空指针异常问题】");
} catch (NullPointerException e) {
log.error(“【触发了NullPointerException】”)
}
以上是我们经常会使用到的模板例子
第一种变换:
try {
throw new BadRequestException("【出现异常了哈】");
} catch (BadRequestException e) {
log.error("【BadRequestException】");
} catch (Throwable e) {
log.error("【Throwable】");
}
只会输出【BadRequestException】
第二种变换:
try {
throw new BadRequestException("【出现异常了哈】");
} catch (BadRequestException e) {
log.info("【BadRequestException】");
throw new BadRequestException("【出现异常了哈】");
} catch (Throwable e) {
log.info("【Throwable】");
}
也是仅仅只会输出【BadRequestException】
结论
通过上述的案例,明白了一个try 里面最多只能被捕获一次,无论后面添加几个catch
或者再次抛出异常,不能被触发,除非在try catch
里面再次使用try catch
。