인프런 커뮤니티 질문&답변

고규자님의 프로필 이미지
고규자

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

Spring AOP를 이용한 Exception Handling

CustomizedResponseEntityExceptionHandler클래스의 생성자를 final 로 지정하신 이유가 뭔가요?

작성

·

189

0

CustomizedResponseEntityExceptionHandler클래스의 생성자를 final 로 지정하신 이유가 뭔가요?

모든 예외상황이 발생했을 때 이 부분에서 처리할수있도록 이라고 하셨는데 이게 무슨 말씀인지 잘 모르겠습니다.

답변 1

2

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

CustomizedResponseEntityExceptionHandler클래스는 Response로 응답시 발생될 수 있는 모든 예외처리를 담당하는 의미로 선언된 클래스입니다.

그 중 handleAllExcpetion는 Validation 오류와 UserNotFoundException을 제외한 모든 예외처리를 처리하기 위한 예외 처리 메소드로써, 더이상 하위 클래스를 파생해서 override되지 않게 하기 위해 final로 선언하였습니다.

물론 final로 선언하지 않고 사용하셔도 되며, 그럴 경우에는 다른 곳에서 CustomizedResponseEntityExceptionHandler 클래스를 상속받은 다음, @Override할 수 있게 됩니다. 그러면, 우리가 정의한 내용에 덮어져서 새로운 메소드 처리가 됩니다. 

감사합니다. 

고규자님의 프로필 이미지
고규자

작성한 질문수

질문하기