Spring
에서 예외처리를 하기 위해 제공되는 다양한 어노테이션중 하나
@Controller
, @RestController
내부에서 발생하는 예외를 사용자가 지정한 메서드에서 처리한다사용하고 싶은 @Controller
, @RestController
내부에 다음과 같이 선언하면 된다
다음과 같이 사용한다면 User
클래스 내부에서 발생하는 모든 NullPointException
은 발생 시점에 사용자가 만든 nullException
메소드를 return
한다
@RestController
public class User{
...
...
@ExceptionHandler(NullPointException.class)
public ResponseEntity nullException(Exception e) {
System.out.println("예외발생!");
return (new ResponseEntity(HttpStatus.BAD_REQUEST));
}
}
ExceptionHandler({ Exception1.class, Exception2.class })
처럼 두개 이상 등록 가능하다
Controller
와 RestController
에만 적용 가능하다
적용한 해당 Controller
와 RestController
에만 적용된다
리턴 타입은 자유롭게 가능하다
ExceptionHandler
의 파라미터 또한 자유롭게 가능하다