[Spring Boot] 예외 처리 라이브러리 만들기 (3)
·
Web/Spring Boot 예외 처리
앞서 설명한 방식에 한계를 느끼고 예외들을 클래스가 아닌 yml 파일로 작성하여 사용하는것이 좀더 간편하고 유연하지 않을까?라는 생각을 하게 되었고 이 글에서 해당 내용을 작성해보려한다. 예외 처리 라이브러리 로직먼저, 앱에서 사용할 커스텀 예외들을 통칭하는 BizException 클래스를 생성한다.@Getterpublic class BizException extends RuntimeException { private final String key; public BizException(String key) { super(key); this.key = key; }} 해당 클래스는, yml에서 설정한 예외들을 선택할 key 값을 가지고 있다. @Getter@ToStr..
[Spring Boot] 예외 처리 라이브러리 만들기 (2)
·
Web/Spring Boot 예외 처리
이번 글에서는 예외처리를 수행하는 예시에 대해서 적어보려한다. 커스텀 예외 생성 및 핸들러 등록먼저, 기본적으로 재사용이 가능하도록 RuntimeException을 상속받는 어플리케이션 Exception을 생성한다.@Getter@ToString@RequiredArgsConstructorpublic class PeachPickerException extends RuntimeException { private final ErrorProperty errorProperty; private String message; public PeachPickerException(String message, ErrorProperty errorProperty) { this.message = mess..
[Spring Boot] 예외 처리 라이브러리 만들기 (1)
·
Web/Spring Boot 예외 처리
어떠한 어플리케이션을 생성할 때마다 항상 고민하는 것은 바로 예외를 어떻게 처리할까에 대한 고찰이다.특히, 웹 어플리케이션에서는 서버에서 발생한 예외들을 어떻게 할 것인가에 대한 처리가 중요하다고 생각한다.이 글에서는, spring boot 에서 예외를 처리하는 흐름과, 이를 정의할 수 있는 방법 등에 대한 내용을 적어보려한다. Spring Boot 예외 처리 흐름먼저, 내가 공부한 스프링에서 예외처리의 흐름은 아래과 같다. 위의 흐름을 살펴보면 아래와 같이 설명할 수 있다. 1. 클라이언트에서 요청이 들어온다.2. 디스패처 서블릿이 적절한 컨트롤러로 전달한다.3. 서비스단에서 비즈니스 로직을 수행한다.4. 수행 중 예외가 발생한다.5. 예외를 디스패처 서블릿이 가로채서 처리한다.6. 예외를 처리할 핸..