@Annotaion Book
@ExceptionHandler
파지티브헌
2023. 2. 24. 16:16
@ExceptionHandler는 Spring MVC에서 예외 처리를 위해 사용되는 어노테이션 중 하나입니다.
@ExceptionHandler 어노테이션을 사용하면, 컨트롤러에서 발생한 예외를 캐치하여 처리할 수 있습니다. 예외가 발생하면, Spring은 해당 예외를 처리할 @ExceptionHandler 메서드를 찾아 호출하게 됩니다.
@ExceptionHandler 어노테이션은 다음과 같은 형식으로 사용됩니다.
@ControllerAdvice
public class ExceptionControllerAdvice {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
ErrorResponse error = new ErrorResponse("500", ex.getMessage());
return new ResponseEntity<>(error, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
위 코드에서는 @ExceptionHandler 어노테이션을 사용하여, Exception 클래스를 처리하는 예외 핸들러를 작성하고 있습니다. 예외가 발생하면, handleException() 메서드가 호출되어, 해당 예외를 처리하게 됩니다.
@ExceptionHandler 어노테이션을 사용하여 예외를 처리할 때는, 처리 로직 이외에도 HTTP 응답 코드, 응답 본문 등을 지정할 수 있습니다. 이를 통해, 클라이언트에게 적절한 응답을 제공할 수 있습니다.
또한, @ExceptionHandler 어노테이션을 사용하면, 예외 처리 로직을 중복해서 작성하지 않아도 되므로, 코드의 중복을 방지할 수 있습니다.