V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  oliverCC  ›  全部回复第 1 页 / 共 1 页
回复总数  2
throw new BusinessException(e.getMessage());
从日志上看这行抛出了异常,原因是你的 try catch 中发生了空指针异常,但是你这行代码没有记录日志。
正常写法应该是
log.error(String.format("压缩文件出错%s",e.getMessage()),e);
throw new BusinessException(e.getMessage(),e);

从你现有代码来看,大概率是 循环中的 getFiles 方法内有问题导致的。

之所以生产环境会报错,而本地自测不报错 那是因为程序运行时变量不同(变量包括不限于程序报错时的出入参、机器各项指标参数等 代码相同只是这些变量中的一个)

对于已经出现的这个报错如果不能添加日志来排查,可以看下能否找到这个报错之前的一些出入参和打包的文件,所有变量和本地报错一致自测复现。
如果日志这条路走不通,可以按照楼上说的 安装 arthas 或者 分布式链路追踪 pinpoint 、SkyWalking 、Zipkin 这些工具也可以作为排查的思路。
2023-12-13 17:40:01 +08:00
回复了 hzlzh 创建的主题 macOS 🎉[福利] iOS & macOS 福利放送, 150 位, 5 选 1
分母+1
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1666 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.