[SPRING]예외처리

Date:     Updated:

카테고리:

태그:

[14] 예외처리

14.1. 스프링에서의 예외 처리

  • 컨트롤러 메서드 내에서 try/catch로 처리
  • 컨트롤러에 @ExceptionHandler 메서드로 처리
    • 예외처리를 위한 메서드를 작성하고 @ExceptionHandler를 설정
  • @ControllerAdvice 클래스의 @ExceptionHandler 메서드가 처리
    • 전역 예외 처리 클래스 작성
      • 모든 컨트롤러에서 발생하는 예외를 처리할 수 있는 클래스
      • @ExceptionHandler를 여러 컨트롤러에서 공유
      • 한 컨트롤러에서만이 아닌 여러 컨트롤러에서 공유하는 ExceptionHandler를 갖는 컨트롤러 별도 생성
    • 예외처리 메서드가 공통처리와 개별 컨트롤러 양쪽에 있는 경우
      • 가까이 있는 @ExceptionHandler가 처리
      • 공통처리하는 @ExcpetionHandler에서 하는 것과 다른 처리를 하고자 할 때 사용
        • 각 개별 컨트롤러에서 다르게 처리
    • 패키지 지정 가능
      • 지정된 패키지에서 발생한 예외만 처리하게 설정

14.2. @ResponseStatus

  • 예외 처리 메서드에 응답 메시지의 상태 코드를 변경할 때 사용
    • 예외처리를 하면 200(성공)이 나옴
    • 이것은 예외가 발생한 상황이므로 응답코드를 변경할 필요가 있음
      • 4xx, 5xx 두 번호대로 변경해야 함
        • 401, 403, 404(Not Found), 405…
        • 500 (Internal Server Error), 501, 503(Service Unavailable)…
  • 일반 사용자가 500번대 화면을 보게 됨
    => 이에 대한 페이지를 별도로 준비해 사용자 친화적으로 바꿀 필요가 있음.
    • web.xml 에러페이지를 별도 저장/설정할 수 있음

SPRING 카테고리 내 다른 글 보러가기

댓글 남기기