일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- API
- SID
- 티스토리챌린지
- HTML
- 스레드
- 키보드
- 톰캣
- java
- service name
- servicename
- http
- 컨트롤러
- Docker
- Database
- 스레드 덤프
- cmd
- letterspacing
- ibatis
- Tomcat
- MySQL
- oracle
- 안드로이드 스튜디오
- httpservletreqeust
- JDBC
- q87
- 오블완
- MariaDB
- wsdl
- 영상편집
- 프로세스
- Today
- Total
블로그 이름
[ERROR] InvocationTargetException 예외 본문
예외 로그는 아래와 같다.
java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566)
InvocationTargetException 예외란
method invoke 시 호출한 메소드 내에서 Exception 발생 시 해당 Exception 을 wrapping 해주는 Exception 클래스이다.
실제로는 invoek된 메서드에서 발생하였지만 에러로그에는 invoke라고 찍혀서 원인 찾기가 힘들다
때문에 e.getTargetException().printStackTrace() 로 예외 처리가 필요하다.
e.printStackTrace는 권장되지 않는 방법으로 (실제로 에러 로그에는 로거를 사용하여 실제 발생 위치를 알 수 없게 함) 개발 서버에서 디버깅 용으로만 사용.
찾아보니 원인은 invoke("getPK"); 를 호출 중 발생하였고,
getPK() 메서드는 반환값이 int이지만 안에서 Integer변수를 반환하고 있었고, 해당 변수가 null인 상황이었다.
해당 변수 null 체크 추가하여 해결하였다.
'개발 > 오류' 카테고리의 다른 글
[ERROR] com.ibatis.common.beans.ProbeException (0) | 2025.02.24 |
---|---|
[ERROR] Tomcat 연결 안되는 현상 해결 방법 정리 (0) | 2025.02.21 |
[ERROR] Cause: java.util.NoSuchElementException (0) | 2025.02.11 |
[ERROR] java.util.ConcurrentModificationException: null (0) | 2025.02.10 |
[ERROR] ORA-12505 오류 해결 방법 (0) | 2025.02.04 |