//第一个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级别的输出是怎么配置的
问题内容: 这是我第一次真正使用列表和队列,因此这可能是一个非常简单的错误。是否因为我的队列中充满了无法转换为整数的对象? 问题答案: 除非您确实对性能至关重要,并且您使用了许多像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文