线上服务异常,居然仅仅是因为模型加了一个成员变量!- 2020-11-14 21:03- 踩坑: 工作中踩过的坑-线上服务居然出了空指针异常!


    本周项目版本迭代过程中,出现了一件之前没有遇到过的问题,升级jar包版本之后,线上居然报了空指针异常!!!

    空指针异常这么低级的错误都能发生,实在是有损我程序员的颜面,又禁不住纳闷
    毕竟也是经由测试同学测试通过的,怎么还会出现这种明显错误呢?
    原来是升级的版本中 有一个实体类新增了一个Boole类型的成员变量并且给了默认
    值,在实际引用到这个变量的地方 并没有做空判断,因为已经给了默认值所以直接拿来用了,以上在使用过程中都没有发现任何问题,在发布上线后,却发现其他引用到相应服务的对方,没有升级版本就会导致空指针异常。
    猜测是在调用方在使用的过程中,因为版本没有升级所以该字段是不存在的,在序列化时自然没有该字段,反序列化时这个字段因为没有,所以反序列后的对象也是没有这个字段的。
    **