suspendCatching

suspend fun <T> suspendCatching(block: suspend CoroutineScope.() -> T): Result<T>

Equivalent of a suspendable runCatching but able to throw CancellationException to cancel parent jobs.