diff options
Diffstat (limited to 'kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt')
-rw-r--r-- | kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt b/kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt new file mode 100644 index 00000000..facc2e08 --- /dev/null +++ b/kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +// This file was automatically generated from coroutines-guide.md by Knit tool. Do not edit. +package kotlinx.coroutines.guide.supervision02 + +import kotlin.coroutines.* +import kotlinx.coroutines.* + +fun main() = runBlocking { + try { + supervisorScope { + val child = launch { + try { + println("Child is sleeping") + delay(Long.MAX_VALUE) + } finally { + println("Child is cancelled") + } + } + // Give our child a chance to execute and print using yield + yield() + println("Throwing exception from scope") + throw AssertionError() + } + } catch(e: AssertionError) { + println("Caught assertion error") + } +} |