예외 처리

    Coroutine 예외 처리 3편 - Supervision - SupervisorJob, SupervisionScope 사용해 예외 처리하기

    Supervision 이전에 공부한 것처럼, 취소는 Coroutine의 전체 계층을 통해 전파되는 양방향 관계를 가진다.*1 단방향 취소만이 필요한 경우를 살펴보자. 이러한 요구사항에 대한 좋은 예제는 Scope 내부에 Job이 선언된 UI 구성요소이다. 만약 UI의 자식의 작업이 실패되더라도, 언제나 모든 UI 구성요소를 취소(효과적으로 종료)하는 것은 필수적이지 않다. 하지만, UI 구성요소가 파괴되면(그리고 그 Job이 취소되면), 더이상 결과값이 필요 없기 때문에 모든 자식 Job을 취소하는 것은 필수적이다. 다른 예시는 여러 자식 Job을 생성하고 이들의 실행이 감독*2되고 그들의 실패가 추적되어서 실패된 것들만 재시작 해야하는 서버 프로세스이다. Supervision job Supervisor..