Coroutines 기본적인 에러 처리하기(feat. try-catch)

2024. 5. 8. 00:30·Language/Kotlin
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
'Language/Kotlin' 카테고리의 다른 글
  • Implement Coroutines Timeout
  • async CoroutineBuilder Introduction
  • Coroutines의 Main safety
  • Coroutine Builder 이해하기
BonusTrack02.dev
BonusTrack02.dev
공부, 일상
  • BonusTrack02.dev
    BonusTrack02.dev
    BonusTrack02.dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (237)
      • Android (84)
      • Language (63)
        • Java (19)
        • Kotlin (27)
        • Swift (17)
      • 프로그래머스 (68)
      • 주저리주저리 (22)
        • 카페 (5)
        • 음식점 (4)
        • 컨퍼런스 (1)
        • 팝업스토어 (4)
        • 해외여행 (0)
        • 전시회 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    viewModelScope
    programmers
    코틀린
    ios
    오블완
    daterangepicker
    티스토리챌린지
    coroutines
    프로그래머스
    Kotlin
    MVVM
    Java
    자바
    Observer
    LiveData
    aac
    코루틴
    android
    jetpack
    ViewModel
    CodeLab
    안드로이드
    databinding
    Material
    배열
    스위프트
    getNumericValue
    room
    PCCE
    SWIFT
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BonusTrack02.dev
Coroutines 기본적인 에러 처리하기(feat. try-catch)
상단으로

티스토리툴바