작성
·
232
0
안녕하세요
스프링MVC 2편 백엔드 웹개발 활용기술 중 'HandlerExceptionResolver의 시작' 강의를 수강 중에 있는데 강의시간 3:26분쯤에 "컨트롤러(핸들러) 밖으로 던져진 예외를 제외하고~" 이런 표현이 나왔습니다.
컨트롤러(핸들러) 밖으로 던져진 예외에는 어떤 것이 있고, 컨트롤러에서 발생하는 예외와는 어떤 차이가 있고 어떻게 분류가 되나요?
답변 부탁드립니다.
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
컨트롤러(핸들러) 밖으로 던져지는 예외는 주로 서블릿 컨테이너에서 발생한 예외를 말합니다. 이런 예외는 보통 서블릿 컨테이너에서 처리되지 않고, 컨테이너 밖으로 넘겨집니다. 이 때, 컨테이너 밖에서 예외를 처리하는 방법을 사용하면 됩니다.
반면에 컨트롤러에서 발생하는 예외는 주로 애플리케이션에서 직접 처리하는 예외를 말합니다. 예를 들어, 데이터베이스 연결 오류, 유효성 검사 실패, 사용자 정의 예외 등이 이에 해당합니다. 이런 예외는 개발자가 직접 예외 처리 코드를 작성해서 예외를 처리하게 됩니다.
컨트롤러(핸들러) 밖으로 던져진 예외들은 에러 페이지를 통해 적절한 응답을 보내주게 됩니다. 그리고 컨트롤러에서 발생하는 예외들은 @ExceptionHandler 어노테이션이나 HandlerExceptionResolver를 통해 처리할 수 있습니다.
컨트롤러(핸들러) 밖으로 던져진 예외와 컨트롤러에서 발생하는 예외는 처리 방법과 범위의 차이가 있으며, 각각의 예외는 상황에 따라 분류되어 처리됩니다.
더 자세한 정보는 해당 강의의 내용을 확인하시거나 스프링 공식 문서를 참고해주세요. 감사합니다.