티스토리 뷰
핵심 코드
[kotlin]
val stringWriter = StringWriter()
e.printStackTrace(PrintWriter(stringWriter))
val exception = stringWriter.toString()
Log.d(logTag, "exception = $exception")
[java]
StringWriter stringWriter = new StringWriter();
e.printStackTrace(new PrintWriter(stringWriter));
Log.d("tag", "stringWriter = " + stringWriter);
설명
예외 내용을 로그캣에서 출력하여 확인하고 싶은 경우가 있습니다.
그런 경우 해당 코드를 활용하시면 됩니다.
아래에 전체 코드를 첨부해 놓았으니 참고 부탁드리겠습니다.
아래 코드는 문자열 "한글" 을 정수로 형변환하여 예외를 발생시킨 상황입니다.
전체 코드
package com.tistory.boywin1992
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import java.io.PrintWriter
import java.io.StringWriter
class MainActivity : AppCompatActivity() {
private val logTag = this.javaClass.simpleName + ".Tag"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
try {
val korean = "한글" as Int
} catch (e:Exception) {
val stringWriter = StringWriter()
e.printStackTrace(PrintWriter(stringWriter))
val exception = stringWriter.toString()
Log.d(logTag, "exception = $exception")
}
}
}
로그캣 출력 내용
2022-03-31 09:46:05.752 16685-16685/com.tistory.boywin1992 D/MainActivity.Tag: exception = java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at com.tistory.boywin1992.MainActivity.onCreate(MainActivity.kt:18)
at android.app.Activity.performCreate(Activity.java:8282)
at android.app.Activity.performCreate(Activity.java:8262)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4005)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4197)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2434)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1133)
'android' 카테고리의 다른 글
[Android/Kotlin/Java] 단말기 해상도 변경 방법 (0) | 2022.08.16 |
---|---|
[Android/Kotlin/Java] 해결 방법 "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다." 해결 방법 (0) | 2022.08.16 |
[Android/Java] 탁상시계 구현 (0) | 2022.07.30 |
[Android/Kotlin/Java] 클래스 이름을 얻는 방법 (0) | 2022.07.30 |
[Android/Kotlin] 외부 브라우저 실행하는 방법 (0) | 2022.07.28 |
- Total
- Today
- Yesterday
- 영문 키보드
- 클래스 이름
- permissions
- 코틀린
- javaClass
- logtag
- andorid
- defaultInputmode
- 외부 브라우저
- create project
- 화면 고정
- web chrome view
- Android
- logcat
- StringWriter
- android studio
- 로그캣
- 화면 방향 고정
- 웹뷰
- create new project
- web view
- Inputmode
- new project
- custom web view
- simpleName
- web view settings
- screenorientation
- check permissions
- 안드로이드
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |