예외 처리란?
프로그램 실행 중 발생할 수 있는 예기치 않은 상황에 대비하여, 프로그램의 비정상 종료를 방지하고 정상적인
실행 상태를 유지하기 위한 방법.
예외 처리를 사용하는 목적
- 에러 발생 시 기본 에러인 status code 500 "Internel server error”을 응답하면,
해당 에러가 어떤 에러인지 알 수 없음.
스프링에서 예외처리
HandlerExceptionResolver : 4가지 구현체들을 빈으로 등록해서 관리
- DefaultErrorAttributes
- ExceptionHandlerExceptionResolver
- 에러 응답을 위한 Controller나 ControllerAdvice에 있는 ExceptionHandler를 처리
- ResponseStatusExceptionResolver
- Http 상태 코드를 지정하는 @ResponseStatus 또는 ResponseStatusException를 처리
- DefaultHandlerExceptionResolver
GlobalExceptionHandler : @RestControllerAdvice, @ExceptionHandler를 사용해 전역 예외 처리
예외(Exception) 가계도

출처: https://www.nextree.co.kr/p3239/