728x90
반응형
나는 지금까지 예제를 사용하면서 네트워크 작업을 예로 들었다.
게다가 해당 작업이 무조건 정상 동작하는 시나리오로만 공부했다.
만약, 네트워크 작업을 수행할 때 HTTP 500번대와 같은 에러가 발생한다면 어떻게 처리해야할까?
이 에러 상황을 처리하지 않고 앱을 실행하게 되면 바로 크래시가 난다.
그럼 어떡함?
제목에서 거의 스포가 되었는데, 정말 간단히 처리하는 방법이 하나 있다.
try-catch를 사용하는 것이다.
fun performNetworkRequest() {
viewModelScope.launch {
try {
val recentVersions = getRecentVersions()
} catch (e: Exception) {
e.printStackTrace()
}
}
}
위 코드에서는 스택트레이스만 보이고 마는데, 토스트를 사용해 에러가 발생했음을 유저에게 보여줄 수도 있다.
또한, 당연하게도 어떤 에러가 발생했는지 종류를 구분하여 보여줄 수도 있다.
728x90
반응형
'Language > Kotlin' 카테고리의 다른 글
Implement Coroutines Timeout (0) | 2024.05.29 |
---|---|
async CoroutineBuilder Introduction (0) | 2024.05.27 |
Coroutines의 Main safety (0) | 2024.05.07 |
Coroutine Builder 이해하기 (0) | 2024.05.02 |
Coroutines의 내부 동작 (0) | 2024.03.07 |