Лучше выбрасывать исключение или возвращать null?

Какой подход лучше, обычное приложение spring boot mvc на kotlin, выбрасываем исключение и его обрабатываем, например при поиске данных в БД, или можно всегда возвращать null и уже его обрабатывать.


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

Автор решения: spermobak

Обработка исключений производится на сервисном уровне, ниже приведен пример кода, написанного с помощью spring boot и hibernate, где создается запрос в базу данных для поиска сущности Person по его id, с помощью метода getPersonById класса personRepository(который как раз и производит общение с бд).

Как видно в примере, мы создаем запрос и проверяем выходные данные, при значении null выбрасываем исключение PersonByIdNotFoundException, которое мы написали сами и которые наследуется от RuntimeException.

  public Person findById(int id){
            if (personRepository.getPersonById(id) == null){
                throw new PersonByIdNotFoundException(id);
            }
            return personRepository.getPersonById(id);
        }
→ Ссылка