关于异常处理如何与协同程序一起使用,我感到非常困惑.
我希望有一个挂起函数链可以像同步代码一样在它们之间传递异常.因此,如果说Retrofit抛出IOException,我可以在挂起函数链的开头处理该异常,例如在演示者中向用户显示错误.
我做了这个简单的例子来尝试协同程序但是如果我取消注释要么在Exception无法运行之后抛出异常调用代码但是Exception不会使应用程序崩溃.
package com.example.myapplicationimport androID.os.Bundleimport androID.support.v7.app.AppCompatActivityimport androID.Widget.buttonimport androID.Widget.TextVIEwimport kotlinx.coroutines.experimental.delayimport kotlinx.coroutines.experimental.launchclass MainActivity : AppCompatActivity() { overrIDe fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVIEw(R.layout.activity_main) val text = findVIEwByID
我尝试过使用async和CoroutineExceptionHandler.最佳答案使用异步时,您应该在某处等待结果,这样您就不会丢失任何异常. 总结
以上是内存溢出为你收集整理的android – Kotlin coroutine吞下异常全部内容,希望文章能够帮你解决android – Kotlin coroutine吞下异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)