Я работаю над веб-приложением Java, и у меня есть несколько вопросов относительно дизайна.Проблема проектирования: в какой мере я должен полагаться на исключения для потока контроля?
В основном в его текущей версии он в значительной степени полагается на отлавливание исключений для определения потока управления.
Например, в одном из классов весеннего обслуживания у меня есть следующий метод, который проверяет, существует ли в базе данных сообщение, заданное как параметр.
@Override
public boolean validateEmailAddressDoesNotExist(String accountEmailAddress) {
try {
return !dao.checkIfEmailAddressAlreadyExists(accountEmailAddress);
} catch (NoResultException re) {
log.error("NoResultException", re);
} catch (RuntimeException re) {
log.error("RuntimeException", re);
}
return true;
}
//from "dao" class
public boolean checkIfEmailAddressAlreadyExists(String accountEmailAddress) {
return (loadAccountFromAccountEmailAddress(accountEmailAddress) == null ? false : true);
}
//also from "dao" class
public Account loadAccountFromAccountEmailAddress(String accountEmailAddress) {
return entityManager.createNamedQuery("Account.findByEmailAddress", Account.class).setParameter("accountEmailAddress", accountEmailAddress).getSingleResult();
}
Я подозреваю, что мой текущий дизайн, вероятно, неправильно, но я был бы признателен, чтобы прочитать ваши комментарии и мнения по этому поводу и в какой степени вы считаете, что это недостатки.
Это, вероятно, больше подходит для http://codereview.stackexchange.com/ –
@ Все: спасибо за ваши ответы !! – balteo
@ Rich.Okelly: не знал об этом сайте. Это тоже очень интересно. Я буду использовать это в следующий раз, когда у меня возникнет такой вопрос, как этот ... – balteo