• 当你的知识量和经验不能够让你足够自信的时候


    今天把外挂报表部署到甲方客户的dev环境,然后出现了NullPointException。虽然没有什么日志,但是前端有配合后端做异常抛出的提示,看着dev环境的那个错误提示框,显示的是空白。我就明白是空指针了。

    当时我就慌了,第一个是怕自己的代码有出现了不常见的bug,开发环境中没有测试出来。(甲方给的开发环境,甲方的客户的dev环境,甲方这么叫的,那就这样叫吧)

    同时更慌的是,错误出现在客户那边,要什么错误日志都比较麻烦,有时候还只能靠甲方的运维给错误日志拍照发出来,然后……画质啊,关键信息之类的。总之是真的麻烦。

    而且到了客户那边,甲方就会开始催,更难受的是有个人,比较讨厌哈,对面的一个项目负责人,不懂技术的,然后就要说一些扯淡的话,正好这个项目是他负责的。然后到了5点左右,@了我大哥,让大哥总结下问题,耽误了一天测试。

    我……这问题都不知道呢,总结啥?我都给排除半天的问题了。

    说下过程:开发环境全部正常,刚开始由于昨天覆盖过一次系统,缺少了某些关键信息导致外置报表报错,然后修改好了。

    但是这之后,dev环境还是不行。

    没办法,甲方大哥无奈@了甲方的运维,日志发出来了,运维还说只有error日志,log日志没有。我一想,没有log打印?(因为有一处查询是必须会被调用,然后打印出来的)

    error日志一打开,满页的空指针,我……真的是难受。看了下错误信息,全都是一个位置,通过apache的http请求发送post,请求的是甲方saas系统上的一个数据接口,这里拿到返回值判断返回代码code int的时候报空指针了。

    我都怀疑是系统问题了,因为这个请求方式用了3个系统了,就这回报错?是不是修改返回值规范了?但是一想,这个不可能。甲方的这个系统都是统一的saas,然后定制化开发的。再者既然它的系统能正常运行,说明不是系统问题。

    然后就想不通,测试环境测了一天了,没有任何一个bug出现(之前改了5天bug了)。再后来想到发版的时候忘记和甲方大哥说要修改前端vue的index.html的请求后端接口地址,但是甲方大哥@运维,然后其实都是改好的。

    好吧,这个我没法子了。自生自灭。浪费了3个小时,不搞了。

    最后,甲方大哥,估计是看了2个小时(最近项目多,时间还紧张,事又多),找到结果是:investment-dev.xxx.xxx没在服务器做解析,所以请求没发出去.

    要不是自己太菜,其实能得出来错误问题不是自己这边的,但是没法子,太菜了,没自信,不敢说话。只能对方催着,各种试图找原因。(写外置报表4个月了,看了代码,所有可能会出现空指针异常的地方都通过判断排除掉了)

    更骚的一个操作是:和我对接测试的甲方人员电话问我找到问题原因了吗?我说是因为这个外置报表是调用了你们系统的某个暴露出来的接口发送的请求,但是这个请求现在是一直处于发送失败的状态。

    我都把答案说出来了,但是没办法,你能猜到结果,却不知道为什么,难道说:我这个代码我看了4,5遍了,所有可能出现nullpointException的地方我都排查了,就你们那个接口返回值的时候有问题?

    噗,笑死我……

  • 相关阅读:
    如何增加按钮的点击间隔时间
    如何增加button的点击范围
    定时器Timer的使用
    NSCache
    GCD和NSOperation的区别
    NSOperation实现线程间通信
    NSOperation添加操作依赖和监听
    自定义NSOperation
    NSOperation的多线程
    单例的实现(完整版代码)
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/13855330.html
Copyright © 2020-2023  润新知