假设您在服务器端实现了这样的方法:
@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
,还是抛出一些例外?
答案 0 :(得分:2)
始终返回异常。 null可以表示任何意思,但是异常可以附加消息来解释问题的原因。这不仅适用于GWT,也适用于Java。