抛出异常vs返回null



假设您在服务器端实现了如下方法:

@Override
public User login(String username, String password) throws AuthenticationFailedException {
    // obtain hash from user's db entry - omitted to simplify code
    String sessionID = UUID.randomUUID().toString();
    currentlyLoggedIn.put(sessionID, new Session(username));
    return new User(sessionID, username);
}

该方法接受用户名和密码,从数据库中检索密码并检查密码是否有效。如果它是有效的,它返回一个User对象和生成的sessionID和用户名。但是如果这个方法失败了呢?或者一般来说,如果一种方法不成功,最好的方法是什么?返回null,还是抛出一些异常?

总是返回一个异常。null可以表示任何含义,但是异常可以附加一条解释问题原因的消息。这不仅适用于GWT,也适用于Java。

相关内容

  • 没有找到相关文章

最新更新