首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rxjava2 "blockingGet“导致无法解析主机:没有与主机名关联的地址

Rxjava2 "blockingGet“导致无法解析主机:没有与主机名关联的地址
EN

Stack Overflow用户
提问于 2018-11-09 06:19:51
回答 1查看 732关注 0票数 2

我的清单文件中有<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我得到的错误是:

代码语言:javascript
运行
复制
Caused by java.lang.RuntimeException: java.net.UnknownHostException: Unable to resolve host "xxx": No address associated with hostname
       at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:45)
       at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:91)
       at io.reactivex.Single.blockingGet(Single.java:2492)

这个bug是我第一次开始使用blockingGet时出现的。

代码语言:javascript
运行
复制
        List<Data> dataList = dataRepository.getDataFromApi().blockingGet();

DataRepository:

代码语言:javascript
运行
复制
fun getDataFromApi(): Single<List<Data>> {
    return dataService.getData()
            .map { jsonApiObject ->
                ...
                return@map data
            }
}

如果我的理解是正确的,它会发生在互联网丢失的时候。如何解决这个问题,我的方法有什么问题?

更新

试图像这样捕获这个异常:

代码语言:javascript
运行
复制
try {
    val data = repository!!.getData().blockingGet()
    ...
} catch (e: SocketException) {
    showNetworkErrorDialog()
}

仍然会出现错误。

EN

回答 1

Stack Overflow用户

发布于 2018-11-09 06:41:31

请检查此URL的internet连接。看起来你的应用程序无法到达主机

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53220755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档