Closed yavor300 closed 3 years ago
Здрасти, поздрави от планината :-) !
Абсолютно съм на мнение, че втория вариант е по-добър, с един Exception. Но това си е моето мнение! :-) Каква "добавена стойност" имат повече Exception-и? Да погледнем, например с какво се различават тези два хендлъра:
@ExceptionHandler({RoleNotFoundException.class})
public ModelAndView handleRoleNotFoundException(RoleNotFoundException e) {
ModelAndView modelAndView = new ModelAndView("error/error");
modelAndView.addObject("message", e.getMessage());
return modelAndView;
}
@ExceptionHandler({UserNotFoundException.class})
public ModelAndView handleUserNotFoundException(UserNotFoundException e) {
ModelAndView modelAndView = new ModelAndView("error/error");
modelAndView.addObject("message", e.getMessage());
return modelAndView;
}
Като цяло добавянето на много Exception-и (особено ако са checked) рядко има голяма стойност и тя е само когато имаш различна логика за "recovery" от тези събития. При ObjectNotFoundExcpetion освен връщането на 404 на клиента не можеш да направиш нещо особено различно в зависимост обектите заради които е хвърлен Exception-a.
Поздрави, Л.
Лъчо, как е по-правилно да направя custom exception-ите: отделни грешки с имена {Entity}NotFoundException или една обща грешка например: ObjectNotFoundException?
Към момента съм избрал първия вариант, но обмислям дали вторият не е по-правилен?
Линк към проекта ми: https://github.com/yavor300/HealthBox