728x90
e.printStackTrace()
- 예외 발생 당시의 호출스택(Call stack)에 있던 메소드의 정보와 예외 결과를 화면에 출력함
- 예외 상황을 분석하기 위한 용도로 사용 (개발자에게 디버깅 할 수 있는 힌트를 제공)
사용하지 말아야 하는 이유
- printStackTrace()를 call할 경우 System.err로 쓰여져서 제어하기가 힘듬
- printStackTrace()는 java 리플렉션을 사용하여 추적하는 것이라서 많은 오버헤드가 발생할 수 있음
- printStackTrace()는 서버에서 스택정보를 취합하기 때문에 서버에 부하가 발생할 수 있음
- printStackTrace()는 출력이 어디로 가는지 파악하기 가 어려움 (톰캣같은 경우 catalina.out에 남음)
- printStackTrace()는 관리가 힘듬 (보통 log4j, logback과 같은 로깅 라이브러리를 사용하여, 로그 패턴 및 로그 메세지를 지정 및 콘솔로그 / 파일로그 형태로 관리할 수 있음)
성능을 중시하는 어플리케이션이라면 e.printStackTrace는 사용하지 말자
'JAVA' 카테고리의 다른 글
[JAVA] DBCP (DB Connection Pool) (0) | 2021.07.18 |
---|---|
[JAVA] Stack / Deque (0) | 2021.07.16 |
[JAVA] List Collection(ArrayList / LinkedList / Vector) (0) | 2021.06.26 |
[JAVA] String / StringBuilder / StringBuffer (0) | 2021.06.20 |
[JAVA] HashMap 원리 (0) | 2021.06.13 |