Я пытаюсь придумать управляемый способ обработки исключений в DAO. Обычно метод в моей DAO выглядит следующим образом:управляемый способ обработки исключений в java
public ArrayList fetchColors (String id)
{
//call iBatis SqlMapClient
//put results in a list
//return list
}
Если ошибка происходит в приведенном выше коде, то все написано в server.log
и на первой странице я покажу экран пользовательских ошибок. Тем не менее, я хочу, чтобы не класть stacktrace на server.log, а вместо этого писать его в my_app.log
(я использую log4j).
Так я планирую преобразовать выше метод следующим образом:
public ArrayList fetchColors (String id) throws SqlException
{
try {
//call iBatis SqlMapClient
//put results in a list
}
catch (SqlException e)
{
logger.log (e);
throws e;
}
//return list
}
Вопросы:
- Является ли это лучший способ подойти к проблеме?
- У меня есть много методов в DAO, и выполнение вышеописанного для каждого метода будет PITA. Есть ли более простой способ сделать это, так же, как и все методы в DAO?
Кажется, что это лучший способ сделать это. Java - это очень подробный язык. – Mike