记录一次mybatisplus执行save时不抛异常,程序中断事件
有一个异步任务, 要记录一段日志, 在savelog的时候使用的是mp的save方法, 程序直接中断了. 数据库也没有插入日志;没有报错信息,让我感觉很诡异;最后想到,之前在自己整理接口的完整调用链路时发现,是tomcat等servlet容器打印的报错信息.兄弟们, 以后记住了,异步方法都要自己try catch打印日志,养成好习惯!我想着应该也会有人跟我一样,记录一下 提醒后来者~~~ 共勉。我
·
有一个异步任务, 要记录一段日志, 在savelog的时候使用的是mp的save方法, 程序直接中断了. 数据库也没有插入日志; 没有报错信息, 让我感觉很诡异;
代码结构大致:
ThreadUtil.execAsync(() -> {
memberMoveSingleLogService.save(successDO);
});
我想,这么大一个框架 不会没有抛异常吧?
最后想到,之前在自己整理接口的完整调用链路时发现,是tomcat等servlet容器打印的报错信息.
而我们现在用的异步方法, 所以就算有异常抛出,我们自己不打印就看不到;
最后代码改为:
ThreadUtil.execAsync(() -> {
try {
memberMoveSingleLogService.save(successDO);
} catch (Exception e) {
log.error("内部方法异常,",e);
}
});
兄弟们, 以后记住了, 异步方法都要自己try catch打印日志, 养成好习惯!
我想着应该也会有人跟我一样,记录一下 提醒后来者~~~ 共勉
如果感觉有用, 请点个赞支持一下,谢谢
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)