在业务代码1里面报错了,但是实际没有看到报错信息1?

2023-06-22 281 0

//第一个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级别的输出是怎么配置的

回答

相关文章

nuxt2部署静态化和ssr的时候访问首页先报404再出现首页为什么?
`clip-path` 如何绘制圆角平行四边形呢?
多线程wait方法报错?
VUE 绑定的方法如何直接使用外部函数?
vue2固定定位该怎么做?
谁有redis实现信号量的代码,希望借鉴一下?