- @ExceptionHandler 어노테이션은 무엇인가요?2024년 11월 15일 09시 34분 04초에 업로드 된 글입니다.작성자: do_hyuk
@ExceptionHandler란?
@ExceptionHandler 어너테이션은 Spring MVC에서 컨트롤러(@Controller)나 전역 예외 처리를 위한 @ControllerAdvice 클래스의 메서드에서 발생하는 예외를 처리하는 데 사용되는데요. 이 애너테이션은 특정 예외를 처리하는 메서드를 지정하거나 메서드의 파라미터로 처리할 예외를 설정할 수 있습니다.
어떤 방식으로 동작하나요? 🤔
Spring MVC 애플리케이션에서 예외가 발생하면, DispatcherServlet이 적절한 HandlerExceptionResolver를 찾아 예외를 처리합니다. Spring에 기본적으로 등록된 HandlerExceptionResolver는 세 가지가 있으며, 각 리졸버는 우선순위에 따라 예외를 처리합니다. 그 중 ExceptionHandlerExceptionResolver가 가장 먼저 동작하며, 발생한 예외가 @ExceptionHandler에 등록되어 있는지 확인합니다. 만약 처리할 수 없는 예외라면 다음 리졸버로 넘어갑니다. ExceptionHandlerExceptionResolver의 특징은 예외가 WAS로 던져지지 않고 직접 처리된다는 것입니다.
이렇게 함으로써 예외가 발생했을 때 적절한 방법으로 처리되어 사용자에게 친화적인 에러 메시지를 제공하거나 로깅 등의 추가 작업을 수행할 수 있습니다.
'면접 대비' 카테고리의 다른 글
Spring Data Jpa에서 새로운 Entity인지 판단하는 방법은 무엇일까요? (2) 2024.11.17 @ResponseBody(or ResponseEntity<T>) 가 있을 때와 없을 때의 동작 방식의 차이점을 말해주세요. (0) 2024.11.16 @Value 어노테이션 사용 시 주의할 점을 설명해주세요. (0) 2024.11.14 RAID 기술에 대해서 설명해주세요. (0) 2024.11.13 OSIV 옵션에 대해 설명해주세요. (0) 2024.11.12 댓글