본문 바로가기

Develop/Spring

[Spring] Exception (예외) 처리

반응형

스프링 예외

  • 스프링 예외는 2가지로 나뉜다:
    • Dispatcher Servlet 외에서 발생하는 예외
      • Filter에서 발생하는 예외를 의미하기도 한다.
      • Spring Security의 Filter에서 발생하는 예외가 이에 해당한다.
    • Dispatcher SErvlet 내에서 발생하는 예외
      • 스프링 MVC 내에서 발생하는 예외를 의미하기도 한다. 서버 개발자가 일반적으로 처리해야 하는 예외는 이에 해당한다.
  • 예외 처리 방법:
    • Filter에서 발생하는 에러:
      • web.xml에서 error-page 등록
      • 예외 처리 필터를 둔다.
      • 예외 발생 시, HandlerExceptionResolver를 빈으로 주입받아 @ExceptionHandler에서 처리하는 방법
        • DispatcherServlet의 예외 처리기인 HandlerExceptionResolver에 보내서 처리한다.
    • Dispatcher Servlet 내에서 발생하는 에러:
      • 다음 단에서 설명하기로 한다.

Dispatcher Servlet 내에서 발생하는 에러

  • 예외 처리 방법은 크게 3가지로 나눌 수 있다:
    • Controller단에서 처리 (Controller Level) - @ExceptionHandler
    • 전역 처리 (Global Level) - @ControllerAdvice
    • 메서드 단위 처리 (Method Level) - try / catch 문
반응형