Design issue: to what extent should I rely on exceptions for the flow of control?
I am working on a java web application and I have a few questions regarding design. Basically in its current version, it relies heavily on catching exceptions to determine the flow of control . For instance in one of my spring service classes, I have the following method that checks whether an email given as a parameter exists in the database. @Override public boolean validateEmailAddressDoesNotExist(String accountEmailAddress) { try { return !dao.checkIfEmailAddressAlreadyExists(accountEmailAddress); } catch (NoResultException re) { log.error("NoResultException", re); } catch