java - Service层查找出为空的值,直接报NPE异常了,该如何继续判断下去

查看:78
本文介绍了java - Service层查找出为空的值,直接报NPE异常了,该如何继续判断下去的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

UserDto user = userService.findUserByName(userName, "orgs", "roles");
if (null == user) {
    throw new UnknownAccountException();
}

得到的user为空的时候,就直接报nullPointException了,已经进不了if判断语句了,该如何实现当查找出的user为空的时候,抛出UnknownAccountException

解决方案

使用try catch

try {
     UserDto user = userService.findUserByName(userName, "orgs", "roles");
} catch(NullPointException e) {
    throw new UnknownAccountException();    //你的需求可以这样实现,但是感觉会混淆判断
    // 而且空指针异常不一定只针对user为空一种情况,也有可能是其他异常情况
}

这篇关于java - Service层查找出为空的值,直接报NPE异常了,该如何继续判断下去的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆