如何以正确的方式捕获空指针异常

时间:2015-03-16 19:15:02

标签: java exception try-catch

如果输入数据与数据库中的数据匹配并且用户ID成功接收,我实现了应该重定向到个人页面的方法,但是如果它是null,则必须重定向到登录页面。如何处理此方法中的null异常?登录过滤器需要loggedIn bolean。感谢您的关注和帮助!

public String getLoginedUser() {
    UserDao ud = new UserDao();
    sessionBean.setCurrentUser(ud.getSessionUserFromDb(inputLogin, inputPassword));
    try {
        currentUserId = sessionBean.getCurrentUser().getUserId();
    } catch (NullPointerException e) {
        System.out.print("Caught the NullPointerException");
    }

    if(currentUserId != 0){
    loggedIn = true;
    if(loggedIn = true){System.out.println("Logined successfully");}

            return sessionBean.redirectToPersonal();
       } 
            else {

         FacesMessage msg = new FacesMessage("Login error!", "ERROR MSG");
    msg.setSeverity(FacesMessage.SEVERITY_ERROR);
    FacesContext.getCurrentInstance().addMessage(null, msg);

    return sessionBean.redirectToLogin();
    }   
 }

2 个答案:

答案 0 :(得分:1)

这应该这样做:

if (sessionBean.getCurrentUser() != null) {
    currentUserId = sessionBean.getCurrentUser().getUserId()
} else {
    System.out.println("Current user is null!");
}

答案 1 :(得分:0)

您需要检查:

if (sessionBean.getCurrentUser() == null)

然后使用您的相关代码