当前位置: 首页 > 知识库问答 >
问题:

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

慕嘉运
2023-06-17

//第一个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个答案

葛宪
2023-06-17

你没有看到报错信息1,你怎么知道是业务代码1 报错了...

至少给一下具体错误是啥吧
逻辑上按照你这个代码,如果业务代码1部分抛出异常了,会被循环内catch住,然后输出一个log.error,然后就继续了,不会往外层抛,也就是到不了报错信息2

盲猜,如果非常强烈的能够确认是业务代码1有问题,并抛出了Exception,但没看到log输出保存信息1,那先去看一下log.error级别的输出是怎么配置的

 类似资料:
  • 问题内容: 这是我第一次真正使用列表和队列,因此这可能是一个非常简单的错误。是否因为我的队列中充满了无法转换为整数的对象? 问题答案: 除非您确实对性能至关重要,并且您使用了许多像int这样的原子类型,否则您确实应该使用Generics和ArrayList / ArrayDeque。然后,您应该看看 http://labs.carrotsearch.com/hppc.html

  • 6.6. 从错误代码到错误信息 我们已经讨论了数据绑定和校验。最后我们来讨论一下与校验错误相对应的错误信息输出。在先前的示例中,我们对name和age字段进行了校验并发现了错误。如果我们使用MessageSource来输出错误信息,当某个字段校验出错时(在这个例子中是name和age)我们输出的是错误代码。无论你直接或者间接使用示例中的ValidationUtils类来调用Errors接口中rej

  • 为什么在 vue 文件里不报错? 类型提示都有的啊。

  • vue.js - 没报错,但是该显示的组件没有显示(element-plus) 控制台也没报错,在后台看是这个模块是空的没有元素

  • 服务器错误信息来自下述源文件: ·错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符串,显示时,它们将被消息值取代。 ·错误值列在share/errmsg.txt文件中,用于生成include/mysqld_error.h和include/mysqld_ername.h MySQL源文件中的定义。 ·SQLSTATE值列在share/errmsg.txt文