最近做网关系统对接第三方服务,由于第三方系统网络问题,读取对方响应超时导致大量超时重发。在第二次重发时,第三方系统会报数据已存在错误。
为了解决这个bug,我尝试在第二次收到数据已存在错误时,报给上层应用成功。
但我在修bug的同时引入了一个bug:没有判断字段是否存在,导致抛NPE异常。
由于我之前写代码时不够重视,检查到空字段都是让直接抛NPE异常,然后加日志监控。之前很多NPE异常,都是网络数据错误,所以我也不是很重视。
结果遇到坑了。这个bug一直报警,我也一直没在意,结果导致了长达一晚的报警!好在有重试机制,否则后果不堪设想!
总结:经验很重要!代码规范很重要!我一直都是自己修bug自测完就上线,这次就踩坑了,流程很重要!