android – Kotlin coroutine吞下异常

前端之家收集整理的这篇文章主要介绍了android – Kotlin coroutine吞下异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

关于异常处理如何与协同程序一起使用,我感到非常困惑.

我希望有一个挂起函数链可以像同步代码一样在它们之间传递异常.因此,如果说Retrofit抛出IOException,我可以在挂起函数链的开头处理该异常,例如在演示者中向用户显示错误.

我做了这个简单的例子来尝试协同程序但是如果我取消注释要么在Exception无法运行之后抛出异常调用代码但是Exception不会使应用程序崩溃.

package com.example.myapplication

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import android.widget.TextView
import kotlinx.coroutines.experimental.delay
import kotlinx.coroutines.experimental.launch

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val text = findViewById

我尝试过使用async和CoroutineExceptionHandler.

最佳答案
使用异步时,您应该在某处等待结果,这样您就不会丢失任何异常.
原文链接:https://www.f2er.com/android/430181.html

猜你在找的Android相关文章