Отсутствие исключения является показателем успеха.
Если вы действительно хотите индикатор, я бы пошел на логическое возвращение.
public boolean saveOrUpdateA(A a) {
boolean success = false;
try {
// obtaining session is omitted
session.saveOrUpdate(a);
success = true;
} catch (Exception e) {
// log it and swallow exception
// calling code has to be sure to check on success flag;
// otherwise it has no idea something went terribly wrong
}
return success ;
}
Вашему приложению все равно придется проверять состояние возврата и обрабатывать его соответствующим образом, что не сильно отличается от обработки потенциального исключения, создаваемого session.saveOrUpdate ().
public void saveOrUpdateA(A a) throws Exception {
try {
// obtaining session is omitted
session.saveOrUpdate(a);
} catch (Exception e) {
// log it and rethrow; let calling code figure how to handle
throw e;
}
}