안녕하세요. 오늘은 간단하게 자바 EXCEPTION처리시 EXCEPTION이 처리되는 우선순위에 대한 궁금증이 생겨 확인한 내용 간단히 공유해봅니다. 포스팅을 너무 장황하게 하려하니 글쓰는 수도 줄어들고 해서 앞으로는 간단히라도 자주 기록을 남기는 습관을 들이려합니다:) [ 상 황 ] 2개의 exceptionHandler 클래스가 있고 범위는 다음과 같다.
1번 - @ControllerAdvice("com.nhnent.webcc") (프로젝트 전체 패키지) - (2번이 1번에 완전 귀속) - 2번 - @ControllerAdvice("com.nhnent.webcc.controller.api") (API 관련 패키지)
[ 궁금증 ] 2번 패키지 범위의 클래스에서 1번 범위의 메서드 실행하다가 에러가 발생할 경우 1번 handler에서 처리가 될지 2번 handler에서 처리가 될지? 예측이 되시나요? ㅎㅎ
[ 동작확인 ] 실제로 1번 범위의 클래스에서 exception이 발생했을지라도 ExceptionHandlerExceptionResolver에 의해 메서드를 호출한 상위 클래스를 찾아가게 되고 그 클래스내에서 exception이 발생하게 된다. 따라서 2번 handler에 의해서 exception이 처리되게 된다.
궁금하시거나 잘못된 부분이 있다면 코멘트 부탁드립니다. 오늘도 좋은하루보내세요:) |
'Programming > Java,Spring' 카테고리의 다른 글
[ Spring ] debug모드 실행시 unknown host 에러발생 (0) | 2017.12.26 |
---|---|
[ JAVA ] java.sql.SQLException: Before start of result set 오류 처리 (1) | 2017.10.26 |
[ JAVA ] 자바(java) 압축파일 확장자 확인하기(commons compress) (1) | 2017.10.05 |
[ JAVA ] 자바[java] Runtime.exec실행시 pipe(pipeline) (|) 버그 (0) | 2017.09.20 |
[ spring ] java.lang.NoClassDefFoundError:org/springframework/data/cassandra/mapping/UserTypeResolver 에러 (0) | 2017.09.12 |