exception 2

Java/Kotlin에서의 예외처리에 관하여

Java Exception Hierarchy Throwable은 모든 Exception 객체들의 부모 클래스다. 크게는 Error와 Exception으로 구분할 수 있고, Exception은 또 다시 Checked Exception과 Unchecked(Runtime) Exception으로 구분 된다. Error Error는 회복불가능한(non-recoverable) 오류다. 런타임에 Error가 발생하면 핸들링할 수 없다. 대표적으로는 메모리 부족(Out of Memory), 네트워크 포화(Network Saturation), 하드웨어 결함 등이 있다. Error를 인스턴스화 하거나 상속하거나, 직접 예외를 던지거나, 처리를 하려해서는 안된다. 위로 전파하는 것이 가장 좋다. Exception - Che..

[안드로이드] WorkManager Worker 디버깅하기

AndroidStudio의 App Inspector > Background Task Inspector에서 현재 돌아가고있는 Background Task 목록과 상태를 확인할 수 있다. 하지만 사진처럼 Status가 Failed가 떴을때는 정확한 원인을 진단하기가 힘든데, 이때 Worker에 생긴일을 디버깅하는 방법을 소개한다. adb logcat | grep -e "WM-WorkerWrapper" 터미널에서 위 명령어를 사용하면 WorkerManager 관련 로그들이 필터링된다. adb가 낯설다면 이 포스트(adb 개념과 사용방법)를 참조하면된다. 아니면 AndroidStudio내 logcat에서 로그 수준을 Info로 낮추고 찾아도된다! 09-13 16:54:01.737 14800 14838 I WM-..