카테고리 없음

22.12.21 Section3 비즈니스 로직에 대한 예외 처리

sweet-po 2022. 12. 21. 23:21

예외를 만들어야 하는 경우

Service에서 BusinessLogicException을 던지게 하는데 이 BusinessLogicException은  ExceptionCode를 멤버 변수로 지정하여 생성자에서  ExceptionCode를 받아줘.

그러니 Service에서 다양한 상황에서  ExceptionCode만 바꿔서 던질 수 있는 거지. 비즈니스 로직에서 발생하는 다양한 유형의 예외는 ExceptionCode enum에 추가해서 사용할 수 있고.

이제 서비스 계층에서 던진 BusinessLogicException를 GlobalExceptionAdvice에서

@ExceptionHandler 애너테이션 붙여서 handleBusinessLogicException(BusinessLogicException e) 메서드 만들어서 해당하는 ErrorResponse 반환해줘.