Coroutine Exception

    Coroutine 예외 처리 1편 - Exception 전파, CoroutineExceptionHandler 사용해 전파된 예외 처리하기

    이 섹션에서는 예외 처리와 예외 발생 시 취소에 대해 다룬다. 우리는 취소된 Coroutine이 일시중단 지점에서 CancellationException을 발생시키고 이것이 Coroutine의 동작원리에 의해서 무시되는 것을 알고 있다. 이 장에서는 취소 도중 예외가 발생되거나 같은 Coroutine에서 복수의 자식 Coroutine이 예외를 발생시킬 경우 어떤 일이 일어나는지 살펴볼 것이다. Exception 전파 Coroutine 빌더는 자동으로 예외를 전파(launch와 actor)하거나 사용자에게 예외를 노출(async와 produce)한다. 이 빌더들이 다른 Coroutine의 자식이 아닌 root Coroutine을 만드는데 사용될 때, 전자(launch와 actor)는 Java의 Thread..

    Coroutines Flow 6편 - Flow 예외 처리, Flow의 예외 투명성

    Flow 예외 처리 Flow 수집은 방출하는 곳 혹은 연산자 안의 코드가 예외를 발생시키는 경우 예외와 함께 완료될 수 있다. 예외들을 처리할 수 있는 몇가지 방법이 있다. 수집기에서의 try와 catch 수집기는 예외를 처리하기 위해 Kotlin의 try/catch 블록을 사용할 수 있다 : fun simple(): Flow = flow { for (i in 1..3) { println("Emitting $i") emit(i) // emit next value } } ​ fun main() = runBlocking { try { simple().collect { value -> println(value) check(value check(value println(value) } } catch (e: Th..