Я работаю над новым приложением Spring MVC. У меня есть несколько потоков, когда контроллер отправляет запрос бизнес-менеджеру, а дальнейший бизнес-менеджер будет разговаривать с уровнем DAO для извлечения данных.Весна, где бросать исключение
Возможны случаи, когда я не получаю данные от DAO. Я хочу понять, что лучший способ справиться с этой ситуацией.
1) Когда когда-либо не будет получено данных для запроса, то выберите «Пользовательский исключение», например «Не найденный контент», от уровня DAO до уровня «Бизнес», а затем «Контроллер» и пусть контроллер решит, что делать.
2) Возврат пустой/пустой объект Pojo обратно в бизнес-менеджер и пусть менеджер выдает исключение для контроллера.
3) Контролер получает пустую/пустую информацию от Менеджера и решает, что с этим делать.
Я нахожу 1-й подход лучше, как при исключении, у меня есть полная трассировка стека, чтобы понять, где именно возникла эта проблема, но с другой стороны я в конечном итоге загромождаю свой код Исключением в подписях.
Номер 3 оставит код чистым, но я не смогу указать, где именно извлечение данных завершилось неудачно, так как может быть несколько вызовов в DAO из бизнес-уровня.