작성
·
114
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
이번 강의 초반에 강사님께서 말씀해주셨던 것에서,
서블릿 컨테이너는 예외가 들어왔을 때 기본적으로 500 에러를 내뱉도록 시스템화되어 있다고 말씀하신는 것처럼 들리는데,
그럼, 서버에서 400번대 에러코드를 내뱉는 것은,
예외처리 리졸버나 그외 다른 예외 처리 로직 등에서 400번대로 변환했기 때문이라고 이해하면 될까요?
즉, Default는 500이고, 처리 여부에 따라 400번대 가능
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 엄티님, 질문 감사합니다.
스프링과 서블릿 컨테이너의 예외 처리 방식에 대한 질문이시네요. 기본적으로 서블릿 컨테이너는 서버측에서 발생한 모든 예외를 500번대 에러로 처리합니다. 이는 서버에서 요청을 제대로 처리하지 못했음을 의미합니다.
하지만 400번대 에러는 클라이언트에서 잘못 요청했음을 의미하는데, 스프링에서는 @ControllerAdvice
나 HandlerExceptionResolver
등을 사용하여 개발자가 예외를 보다 세부적으로 처리하고, 적절한 HTTP 상태 코드로 응답을 반환할 수 있도록 지원합니다.
스프링을 사용하면 특정 상황에 따라 예외를 커스터마이징하여 400번대 에러 코드로 변환할 수 있는 이유는, 이러한 예외 처리 메커니즘(예: @ExceptionHandler
)을 통해서입니다. 따라서, 기본적으로 예외가 발생하면 500번대 에러로 처리되지만, 개발자가 필요에 따라 이를 400번대 에러 코드로 변환하여 클라이언트에게 응답할 수 있습니다.
관련해서 조금 더 깊이 있는 사례를 보고 싶다면 아래 URL들을 참고하시면 도움이 되실 겁니다:
이 링크들은 각각 예외 처리를 다루는 강의 내용에서 구체적으로 예외 처리 설정 방법과 관련된 토론을 포함하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.