e.stackTrace와 e.stackTraceToString()은 예외 처리 시 stack trace 정보를 다룰 때 사용하는 것이지만, 다음과 같은 차이점이 있다
e.stackTrace (속성)
- 타입: Array<StackTraceElement>
- 설명: 예외가 발생한 호출 스택의 각 프레임을 나타내는 배열이다.
- 사용 목적: 각 스택 프레임을 프로그래밍적으로 분석할 때 사용한다.
- 예시:
- val e = Exception("Test") e.stackTrace.forEach { println(it) }
- Ljava lang stacktraceelement
e.stackTraceToString() (함수)
- 리턴 타입: String
- 설명: 예외 메시지 + 전체 stack trace를 문자열 형태로 반환한다.
- 사용 목적: 로그로 찍거나 출력용으로 사용할 때 적합하다.
- 예시:
- val e = Exception("Test") println(e.stackTraceToString())
비교
e.stackTrace | e.stackTraceToString() | |
타입 | Array<StackTraceElement> | String |
용도 | 프로그래밍적 분석용 | 로그/출력용 전체 trace 문자열 |
예외 메시지 포함 여부 | ❌ 포함 안 됨 | ✅ 포함됨 (Exception: message 포함) |
주 사용처 | 디버깅/조건 처리 | 로깅/출력용 |
'【 개발 이야기 】' 카테고리의 다른 글
[Spring Boot] WebFilter (1) | 2025.06.19 |
---|---|
[coroutine] runBlocking (0) | 2025.06.18 |
[kotlin] infix function (0) | 2025.06.17 |
[Spring&kotlin] try catch와 exception 예외와 오류 그리고... throw (2) | 2025.06.16 |
[IntelliJ] 초심자를 위한 디버깅 시작하기 (2) | 2025.06.04 |