예외 처리
포스트
취소

예외 처리

예외처리 어노테이션

  • @ContrllerAdvice
    • Global 예외처리
    • 특정 패키지/컨트롤러 예외처리
    • 종류
      • @ContrllerAdvice
        • @Contrller에 대해 사용하는 어노테이션
      • @RestContrllerAdvice
        • @RestContrller에 대해 사용하는 어노테이션
  • @ExceptionHandler
    • 특정 예외에 대한 처리

@ExceptionHandler 기본 코드

@ExceptionHandler(value=예외종류.class)
public ResponseEntity exception(예외종류 e) {
    /*
        원하는 예외 클래스의 종류를 모를 때는
        Exception e로 매개변수를 주고
        e.getClass().getName()를 확인해보면 된다.
    */
    return ResponseEntity.status(HttpStatus.에러코드).body(e.getMessage());
}

작동 방식

  • @ContrllerAdvice 어노테이션이 선언된 클래스 내부에
    @ExceptionHandler가 선언된 메소드는
    모든 컨트롤러에 대해서 적용된다.

  • @ContrllerAdvice 어노테이션이 모든 컨트롤러에 대해서 적용되긴 하지만
    만약 @ContrllerAdvice가 있는 클래스에 있는 @ExceptionHandler와
    개별의 컨트롤러에 있는 @ExceptionHandler가 같은 exception에 대해서 처리한다고 했을 때,
    개별의 컨트롤러 쪽에 있는 @ExceptionHandler가 우선적용된다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.