ExceptionHandler

김민창·2022년 1월 24일
0
post-thumbnail

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 }) 처럼 두개 이상 등록 가능하다

  • ControllerRestController에만 적용 가능하다

  • 적용한 해당 ControllerRestController에만 적용된다

  • 리턴 타입은 자유롭게 가능하다

  • ExceptionHandler의 파라미터 또한 자유롭게 가능하다

출처

profile
개발자 팡이

0개의 댓글