본문 바로가기

spring

AnnotationMethodHandlerExceptionResolver

컨트롤러에서 발생한 예외 타입에 따라 에러페이지를 등록할 수 있고, 이 작업은

HandlerExceptionResolver(이하 '인터페이스') 인터페이스 구현을 통해 이루어진다.


인터페이스의 주요 구현 클래스는 다음과 같다


1. AnnotationMethodHandlerExceptionResolver

- @ExceptionHandler 적용 메서드를 이용해서 예외를 처리한다.


2. DefaultHandlerExceptionResolver

- NoSuchRequestHandlingMethodException 과 같이 스프링 관련 예외 타입을 처리한다.


3. SimpleMappingExceptionResolver

- 예외 타입 별로 뷰 이름을 지정할 때 사용한다.



;스프링 설정 파일에 HandlerExceptionResolver 가 따로 등록되어 있지 않다면 AnnotationMethodHandlerExceptionResolver 과 DefaultHandlerExceptionResolver 을 디폴트로 사용한다.



@ExceptionHandler 을 통한 예외처리는 아주 간단하다.


예:

=====================================================================================

@ExceptionHandler(NullPointerException.class)

public string nullPointerExceptionHandler(NullPointerException e){

return "// 뷰 페이지";

}

=====================================================================================