记录一次null is null 空指针异常

这是一次很神奇的错误,但是确实由于一个很小的问题造成。

首先场景复现。

表中存储的是先关联表的ID,然后返回前端需要返回关联表的中文名称,刚开始的代码是这样子的。

warehouseService.getNameById(id).getName();

然后这个功能在上线大概有二个月,当然上线是没有问题的,因为线上的数据是不会进行物理删除,就算不需要这条数据也是逻辑删除,报这个错误是在测试环境,我想现在大家已经知道是那里有问题了吧!对,就是测试环境的数据库对应ID对删除,然后再去使用对应的数据查询,原来的数据中存在ID,但是关联表对应的ID已经被删除。

反思:当时写的时候想着不会去进行物理删除,而且ID肯定是存在的,所以没有进行数据判断。

总结:不管什么情况下,去调用方法获取值时,都要对值进行判断。

你可能感兴趣的:(记录一次null is null 空指针异常)