GWT — создание исключения или возврат нуля

Предположим, у вас есть такой метод, реализованный на стороне сервера:

@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 или выдать какое-то исключение?


person helpermethod    schedule 11.04.2011    source источник


Ответы (1)


Всегда возвращайте исключение. Нуль может означать что угодно, но к исключению может быть прикреплено сообщение, объясняющее причину проблемы. И это применимо не только к GWT, но и к Java.

person Carlos Tasada    schedule 11.04.2011
comment
Тогда это должно быть CheckedException? Потому что ввод неправильного имени пользователя/пароля вряд ли является ошибкой программирования. - person helpermethod; 11.04.2011