인프런 커뮤니티 질문&답변
UserException, DefaultHandlerExceptionResolver
작성
·
270
3
안녕하세요 복습 겸 다시 강의를 듣고있는데
다시 들으니 새로운 질문 거리가 생겨서 질문드립니다.
1) 17:35분에 RuntimeException은
UserException이 해결을 할수가 없어서
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler
public ErrorResult exHandler(Exception e) {
log.error("[exceptionHandler] ex", e);
return new ErrorResult("EX", "내부 오류");
}
이 실행 된다고 하셨는데
UserException 은 RuntimeException을 상속 하고있습니다.
그래도 UserException은 RuntimeException을 해결을 할수가 없는건가요 ?
2) DefaultHandlerExceptionResolver은
errormessage를 따로 설정을 할순없는건가요 ?
답변 1
3
안녕하세요. 기팝님
1. 자바에서 타입을 할당하려면 부모 타입에 자식 타입은 할당할 수 있지만, 그 반대는 안됩니다. 이렇게 이해하시면 됩니다.
2. DefaultHandlerExceptionResolver는 스프링이 내부에서 이미 만들어둔 예외 처리기입니다. 따라서 메시지를 직접 처리하려면 이 클래스를 상속받아서 새로 등록하셔야 합니다.
이것보다는 @ExceptionHandler를 적절하게 잘 사용하시는 것이 더 나은 선택일 수 있습니다.
감사합니다.






감사합니다