org.jetbrains.kotlinx.jupyter.exceptions.Util.kt Maven / Gradle / Ivy
package org.jetbrains.kotlinx.jupyter.exceptions
fun Throwable.causesSequence(): Sequence {
val cache = mutableSetOf()
return generateSequence(this) {
val t = it.cause
if (t != null && cache.add(t)) t else null
}
}
fun Throwable.isInterruptedException(): Boolean {
return causesSequence().any {
it is InterruptedException || it is ThreadDeath
}
}