[SpringBoot] 스프링의 에러처리 탐구
·
SpringBoot
스프링은 어플리케이션에서 발생가능한 에러들에 대해 다양한 처리방법을 제공합니다. 어플리케이션 내부에서 발생되는 에러를 감지하고 각각에 대한 적절한 처리를 하기 위해, 서블릿의 에러 처리 플로우에 대해 알아볼 필요가 있습니다. 이번 포스팅에서 이에 대해 중점적으로 다뤄 보겠습니다. Spring MVC에서 모든 요청은 디스패쳐 서블릿을 통합니다. 디스패쳐 서블릿은 요청에 따라 HandlerMapping 객체를 통해 적절한 컨트롤러를 실행합니다. 이 과정은 디스패쳐 서블릿의 doDispatch() 함수 내에서 실행됩니다. 함수내에 try-catch문 을 통해 감지된 에러는 적절한 HandlerExceptionResolver를 선택해 에러를 처리하게 됩니다. 따라서, 아래와 같은 워크 플로우를 가집니다. 1. ..