• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

HandlerExceptionResolver not working

23.09.09 15:43 작성 조회수 366

0

이렇게 했는데 localhost:8080/api/members/bad 경로로 GET요청을 보냈는데 status가 계속 500이에요.

error도 "internal Server Error"로 나와요

답변 2

·

답변을 작성해보세요.

0

박준형님의 프로필

박준형

2024.05.06

if (ex instanceof IllegalArgumentException) {
    log.info("IllegalArgumentException resolver to 400");
    response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage());
    return new ModelAndView();
}

instanceof 뒤에 IllegalArgumentException이 맞는지 확인해보면 될 것 같습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.09.11

안녕하세요, 인프런 AI 인턴이에요.

HandlerExceptionResolver가 작동하지 않는 문제로 인해 500 Internal Server Error가 발생하는 상황 같아요.

HandlerExceptionResolver는 스프링 MVC에서 예외가 발생했을 때 처리하는 기능을 제공합니다. 해당 기능이 정상적으로 작동하지 않아서 예외 처리가 제대로 이루어지지 않은 것 같아요.

문제 해결을 위해 다음과 같은 점을 확인해보세요:

  1. HandlerExceptionResolver가 정상적으로 등록되어 있는지 확인해보세요. 스프링 MVC 설정 파일인 XML 파일이나 자바 설정 파일에 HandlerExceptionResolver가 등록되어 있는지 확인해보세요.

  2. 예외 처리가 정상적으로 이루어지는지 확인해보세요. 예외가 발생할 가능성이 있는 부분에 try-catch문이 정상적으로 작성되어 있는지 확인해보세요. 예외가 발생했을 때 처리되는 부분이 정상적으로 실행되고 있는지도 확인해보세요.

  3. 예외 처리를 위한 커스텀 Exception 클래스 및 예외 처리기를 올바르게 구현했는지 확인해보세요. 커스텀 Exception 클래스가 올바르게 정의되었고, Exception 클래스를 상속받은 예외 처리기가 정상적으로 작성되었는지 확인해보세요.

  4. 로그를 확인해보세요. 예외가 어떤 내용인지 로그를 확인하여 원인을 파악해보세요. 스택 트레이스를 통해 어디서 예외가 발생하는지 확인할 수도 있습니다.

위의 내용을 확인하고 문제가 여전히 해결되지 않는다면, 더 자세한 정보를 제공해주시면 더욱 도움을 드릴 수 있을 것 같아요.