Я работаю над большим Java-веб-приложением с Spring, Hibernate и некоторыми другими библиотеками, включая Apache log4j для ведения журналов.Один из моих текущих проектов - переписать большое количество исключений в унаследованных областях (которые я не писал!) Кода, чтобы дать более разумную информацию.Типичный блок исключений выглядит так:
try {
//Some Hibernate business here
}
catch (Exception e) { //Yes, Exception. That's not just me being general. I find this especially frustrating.
log4j.error("Fail to XXXXXX"); //again, real
throw new MyException();
}
Как вы можете догадаться, это делает некоторые сложные журналы.Я ищу стандартный способ получить лучшую информацию из этих исключений.Большинство из них переносят вызовы Hibernate, если это помогает.Вот типичный блок, похожий на тот, который я только что написал:
try {
myList.add( ((myClass) commonService.getRecordByTableId(myClass.class, ID)).toString() );
} catch (ServiceException e) {
log4j.error("Failed to retrieve record from table myClass for id " + ID);
e.printStackTrace();
}
Здесь я извлекаю запись из базы данных и добавляю ее в список.В блоке catch я записываю то, что я считаю разумным сообщением о том, что делает блок try
, и печатаю трассировку стека.Итак, мой вопрос: есть ли что-нибудь еще, что я мог / должен делать, в общем, чтобы получить лучшую информацию для диагностики ошибок?