본문 바로가기

cs(with 매일메일)

[260330월] @ExceptionHandler 어노테이션은 무엇인가요?

Spring MVC에서 컨트롤러나 전역 예외 처리를 위한 @ControllerAdvice클래스의 메서드에서 발생하는 예외를 처리하는데 사용

> 특정 예외를 처리하는 메서드를 지정하거나 메서드의 파라미터로 처리할 예외를 설정할 수 있다

 

어떤 방식으로 동작?

Spring MVC애플리케이션에서 예외 발생

DispatcherServlet이 적절한 HandlerExceptionResolver를 찾아 예외 처리 (기본적으로 3가지 있고 우선순위에 따라 처리)

 1순위가 @ExceptionHandler에 등록되었는지 확인. 처리할 수 없으면 다음 리졸버로 넘어감 

 

특징 : WAS로 예외가 던져지지 않고 직접 처리된다는 것. 

> 예외 발생 시, 적절한 방법으로 처리되어 사용자에게 진화적인 에러 메시지를 제공하거나 로깅 등의 추가 작업을 수행할 수 있다