gpt4 book ai didi

android - 获取AndroidRuntime : FATAL EXCEPTION: DefaultDispatcher-worker-1 with no other stack trace

转载 作者:行者123 更新时间:2023-12-05 00:09:20 25 4
gpt4 key购买 nike

当使用 Retrofit 和 Coroutines 从 API 获取数据时,我有时会遇到应用程序崩溃,Logcat 中没有堆栈跟踪,但以下情况除外:AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1

最佳答案

这通常是由 Retrofit 抛出一个常见的异常引起的,比如 UnknownHostException(如果没有 Internet),如果你没有指定 CoroutineExceptionHandler,协程会吞下异常。
因此,在您的启动代码中添加一个协程异常处理程序,如下所示:

val coroutineExceptionHandler = CoroutineExceptionHandler{_, throwable ->
throwable.printStackTrace()
}

fun getFromApi() {
viewModelScope.launch(Dispatchers.IO + coroutineExceptionHandler) {
retrofitService.getStuffFromInternet()
}
}
请注意,这只是将错误记录到 Logcat,以便您可以看到丢失的堆栈跟踪。你仍然需要弄清楚是什么原因造成的。

关于android - 获取AndroidRuntime : FATAL EXCEPTION: DefaultDispatcher-worker-1 with no other stack trace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71004285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com