Стоит ли бросать кастомные ошибки, если энтити не найдено в API?

Думаю, стоит ли кидать свои собственные эксепшены, если что-то не найдено. С одной стороны, это логично и не будет ошибок от Spring data JPA вроде EntityNotFoundException и куда менее понятных ошибок. Но с другой стороны, если с фронта все правильно настроено, то таких ситуаций и не должно быть. Еще и джава будет конкатенировать стринги, которые я передаю в ошибку, даже если ошибки не произошло.

Я только учусь и не понимаю, вот пример двух вариантов кода.

Первый, меня в нем беспокоит только конкатенация строк.

public VoteDTO getByid(int voteId) {
    Vote vote = voteRepository.getById(voteId);
    Optional<Vote> voteOptional = voteRepository.findById(voteId);
    if (voteOptional.isEmpty()) {
        throw new ApiException("Vote with id " + id + "is not in DB");
    }
    return toVoteDto(voteOptional.get());
}

И второй без такой проверки ( Spring будет кидать свои эксепшены, если Entity не найдено, но является ли это проблемой? )

public VoteDTO getByid(int voteId) {
    Vote vote = voteRepository.getById(voteId);
    return toVoteDto(vote);
}

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