aboutsummaryrefslogtreecommitdiffstats
path: root/kotlinx-coroutines-core/jvm/test/guide/example-supervision-02.kt
diff options
context:
space:
mode:
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.kt30
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")
+ }
+}