CoroutineExceptionHandler , 用于 在协程中捕获异常 ;
异常捕获 : 在协程中 , 使用 CoroutineExceptionHandler 对协程运行过程中产生的 异常...进行捕获 , 异常满足如下两个条件才会被捕 :
异常捕获时机 : 协程 自动抛出 的异常 , 可以在协程内被捕获 ; 使用 launch 构建的协程 可以在协程中捕获异常 , 使用 async 构建的协程...在 await 处捕获异常 ;
异常捕获位置 : 在 协程作用域 CoroutineScope 或者在 根协程 中 捕获 异常 ;
1、对比 launch 和 async 创建的协程的异常捕捉示例...在上面的小节验证了 异常捕获位置 在根协程 中的情况 , 在本小节示例中 , 验证在 协程作用域 CoroutineScope 中捕获异常 ;
代码示例 : 在 协程作用域 中 , 使用 launch...协程构建器 创建协程 , 传入 CoroutineExceptionHandler 实例对象参数 , 在其中再创建子协程 , 抛出异常 , 最终可以捕获到在子协程中抛出的异常 ;
下面代码中 创建协程作用域