昨天在朋友圈看到一个故事,暂且认为是真实的事情吧。 小张和小王是某公司的两个后端开发工程师,分别负责公司A和B系统的研发,此为前情提要。 某个接口业务场景如下,客户端调用A系统接口,A在处理过程中调用了B系统接口。 在日常功能开发迭代的过程中,小王(负责B系统)经常会收到测试同学的 「BUG」 第一指向责任人,但是很多问题自己排查下来,并不是B服务的问题,很多是A服务缺少验证和异常考虑导致的。 这个问题说大不大说小不小,在最近的项目总结会前夕,小王认真总结了自己名下的 「BUG」 情况,主要是最终流向和结果。 最终发现相当一部分 「BUG」 在小张哪里终结了,而且出现问题的模块也比较集中,这激发了小王的好奇心,在不断进行追根溯源之后,发现了一个惊天阳谋。 伪代码如下: try { //此处省略五百行代码 callBSystemMethod(params); //此处再省略五百行代码 } catch (Exception e) { logger.warn("系统异常!",e); return Result.fail("B系统调用异常!"); } 哈哈……