Обработка множественных исключений

Доброго времени суток.

При обработке пакетных операций бывает необходимо найти все ошибки, если таковые имеются, и предоставить клиентскому коду возможность обработать каждую из них. Сразу хочу сказать, что механизм set/get cause не подходит, т.к. ошибки могут не иметь связи друг с другом.

Я нашел два способа как это можно осуществить:

  1. Создать пользовательское исключение, которое содержит внутри себя список всех ошибок. Все найденные ошибки добавляются в этот список, а потом это исключение выбрасывается из метода выполняющего пакетную оперцию.
  2. Использовать обработчик ошибок, что-то вроде batchOperation(SomeBatch batch, ExceptionHadler handler)

Хотелось узнать, когда стоит и не стоит использовать каждый из этих подходов? Есть ли какие-нибудь best practices касательно этого вопроса?


Ответы (0 шт):