애플리케이션의 안정성과 신뢰성을 높임
예외에 대한 일관된 처리를 제공하여 예외 처리에 대한 관리를 간편하게 할 수 있도록 도와줌
Spring에서 예외 처리를 위해 Annotation
Controller에서 발생한 예외를 처리하기 위해 사용
Controller에서 예외가 발생했을 때 호출되며, 해당 예외를 처리하는 로직을 담고 있음
AOP를 이용한 예외 처리 방식이기 때문에, 메서드마다 try-catch할 필요없이 예외처리가 가능
Spring에서 예외 처리를 위한 클래스 레벨 Annotation
Controller에서 발생한 예외를 처리하기 위해 사용
@ControllerAdvice가 붙은 클래스에서는 @ExceptionHandler 메서드를 정의하여 예외 처리하는 로직을 담을 수 있음
예외 처리를 중앙 집중화하기 좋음
코드의 중복을 방지하고 유지 보수성을 높일 수 있기 때문에
예외 처리 로직을 모듈화하여 관리하기 쉽기 때문에, 팀 내에서 공통된 예외 처리 로직을 공유하거나 다른 팀에서 예외 처리를 참고할 수 있음 ==> 개발 생산성 향상시키는 것도 가능