forked from Kotlin/kotlinx.coroutines
/
FlowExceptions.kt
29 lines (24 loc) · 939 Bytes
/
FlowExceptions.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
* Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines.flow.internal
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
internal actual class AbortFlowException actual constructor(
@JvmField @Transient actual val owner: FlowCollector<*>
) : CancellationException("Flow was aborted, no more elements needed") {
override fun fillInStackTrace(): Throwable {
if (DEBUG) return super.fillInStackTrace()
// Prevent Android <= 6.0 bug, #1866
stackTrace = emptyArray()
return this
}
}
internal actual class ChildCancelledException : CancellationException("Child of the scoped flow was cancelled") {
override fun fillInStackTrace(): Throwable {
if (DEBUG) return super.fillInStackTrace()
// Prevent Android <= 6.0 bug, #1866
stackTrace = emptyArray()
return this
}
}