인프런 커뮤니티 질문&답변

윤유정님의 프로필 이미지
윤유정

작성한 질문수

2시간으로 끝내는 코루틴

5강. 코루틴의 예외 처리와 Job의 상태 변화

delay가 없으면 실행 안 되는 이유

작성

·

213

0

안녕하세요! 좋은 강의 잘 듣고 있습니다.😄

5강 수강 중인데, 여기에서

fun lec05Example2(): Unit = runBlocking {
    val job = CoroutineScope(Dispatchers.Default).launch {
        throw IllegalArgumentException()
    }

    delay(1_000L)
}

delay(1_000L) 부분이 없으면 위의 예외 던지는 코루틴을 실행을 안 하던데 왜 그런지 이유를 잘 모르겠습니다.

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 유정님! 질문 주셔서 감사합니다! 😊

runBlocking 을 사용했지만, 새로운 CoroutineScope 을 만든 후 그 안에서 코루틴을 만들고 있기 때문에, 그냥 바로 runBlocking 안에서 코루틴을 만드는 것과 달리 어느정도 main thread를 대기 시켜주어야 합니다!

그래서 delay() 부분을 넣어주었습니다! 👍 답변이 도움이 되었으면 좋겠네요!!

윤유정님의 프로필 이미지
윤유정

작성한 질문수

질문하기