首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当网络离线时,如何使用retrofit2 hilt来处理网络错误响应?

当网络离线时,如何使用retrofit2 hilt来处理网络错误响应?
EN

Stack Overflow用户
提问于 2021-11-13 16:31:01
回答 2查看 432关注 0票数 1

我正在构建一个简单的android应用程序,使用架构。为此,我使用Retrofit2作为网络请求,使用Hilt进行依赖注入。这个应用程序工作良好,而互联网是可用的,但当我关闭互联网,它崩溃的应用程序.,那么如何处理网络错误,而应用程序是在离线模式?

这是向API请求数据的代码:

代码语言:javascript
复制
    @Singleton
    @Provides
    fun provideRecipeService() : RecipeService {

        return Retrofit.Builder()
            .baseUrl("https://food2fork.ca/api/recipe/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()
            .create(RecipeService::class.java)
    }
EN

回答 2

Stack Overflow用户

发布于 2021-11-13 16:57:00

它与您的依赖项注入无关,我认为您的代码中有一个未捕获的异常,所以当您的网络调用失败(抛出异常)时,您没有处理异常,转到网络调用,用try-catch覆盖整个网络调用并测试它,如果它正常,将异常映射到错误模型,并以您想要处理错误的方式处理它,希望它有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2021-11-13 17:11:03

我们需要实际的异常,你看到的一个确切的解决方案,但一般来说,一些网络状态可以抛出不同的异常。如果将网络调用放置在try catch块中,则安全性更高。

正如keivan shamlu所说,这与写作无关。

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

https://stackoverflow.com/questions/69956199

复制
相关文章

相似问题

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