美文网首页
协程的异常处理

协程的异常处理

作者: 莫库施勒 | 来源:发表于2019-05-24 14:38 被阅读0次

CoroutineExceptionHandler 被用来将通用的 catch代码块在协程中自定义日志记录或异常处理。

val handler = CoroutineExceptionHandler { _, exception -> 
        println("Caught $exception") 
}
val job = GlobalScope.launch(handler) {
    throw AssertionError()
}
val deferred = GlobalScope.async(handler) {
    throw ArithmeticException() // 没有打印任何东西,依赖用户去调用 deferred.await()
}
joinAll(job, deferred)

取消子协程不会取消父协程,取消父协程会取消子协程

相关文章

  • Android中对Kotlin Coroutines(协程)的理

    (接第一部分) 异常处理1.协程的异常传递协程的异常传播也是遵循了协程上下文的机制,除了取消异常(Cancella...

  • Kotlin协程

    协程基础概念[https://zhuanlan.zhihu.com/p/427092689]协程异常处理[http...

  • Android版kotlin协程入门(三):kotlin协程的异

    kotlin协程的异常处理 在上一篇《Android kotlin协程入门(二):kotlin协程的关键知识点初步...

  • Python协程

    目录:一、基于生成器的协程二、协程状态三、协程预激装饰器四、终止协程和异常处理五、协程返回值六、yield fro...

  • 协程中的取消和异常 (核心概念介绍)

    当我们需要避免多余的协程处理任务减少内存浪费,节约电量,协程的取消操作尤为重要。而协程的异常处理对于用户体验来说也...

  • 协程的异常处理

    CoroutineExceptionHandler 被用来将通用的 catch代码块在协程中自定义日志记录或异常处...

  • 协程的异常处理

    什么情况下 try-catch 会失效? 在 try-catch 块中创建了一个子协程,调用了一个百分百会失败的接...

  • 破解 Kotlin 协程(4) - 异常处理篇

    关键词:Kotlin 协程 异常处理 异步代码的异常处理通常都比较让人头疼,而协程则再一次展现了它的威力。 1. ...

  • 4.协程的异常处理(2)

    异常的传播异常传播是指异常在父子协程中的传播,什么是父子协程,在当前协程中又启动一个协程,那么这个新启动的协程就是...

  • Kotlin 协程异常处理

    1.引言 kotlin的异常处理很不容易理解,看了好久,好久慢慢才明白,因为有必要写一篇文章搞清楚一下问题: tr...

网友评论

      本文标题:协程的异常处理

      本文链接:https://www.haomeiwen.com/subject/qnvgzqtx.html