在业务代码1里面报错了,但是实际没有看到报错信息1?
//第一个try catch
try { List<Plan> plans = planService.lambdaQuery()
.eq(Plan::getYn, YnEnum.YES.getLabel())
.eq(Plan::getStatus, Plan.Status.DONE.getCode())
.isNotNull(Plan::getPId)
.list();
List<List<Plan>> partition = Lists.partition(plans, 5);
partition.forEach(planList -> {
//第二个try catch
try {
//业务代码1.....
} catch (Exception exception) {
log.error("报错信息1:", exception);
}
});
} catch (Exception exception) {
log.error("报错信息2:", exception);
} finally {
log.info("释放requestId[{}]的锁", requestId);
Redis.unlock(Module.REFRESH_PROMOTE, workerLockKey, requestId);
}
回答:
你没有看到报错信息1,你怎么知道是业务代码1 报错了...
至少给一下具体错误是啥吧
逻辑上按照你这个代码,如果业务代码1部分抛出异常了,会被循环内catch住,然后输出一个log.error,然后就继续了,不会往外层抛,也就是到不了报错信息2。
盲猜,如果非常强烈的能够确认是业务代码1有问题,并抛出了Exception,但没看到log输出保存信息1,那先去看一下log.error级别的输出是怎么配置的
以上是 在业务代码1里面报错了,但是实际没有看到报错信息1? 的全部内容, 来源链接: utcz.com/p/945213.html