当前位置: 首页 > 知识库问答 >
问题:

如何处理Kotlin中的500错误并使用Retrofit2显示详细信息?

祁柏
2023-03-14

我使用下一个参考来实施kotlin解决方案的改造

implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.0.1'
implementation 'com.squareup.okhttp3:okhttp:4.0.1'

我实现了一个api,它返回这个结果:

邮递员考试没问题。

通过基本的回调改型,我截获了结果代码消息http

if (response.code() == 500) {
     val gson = GsonBuilder()
                .setLenient()
                .create()

     var locerr = gson.fromJson(response?.errorBody()?.string(),
                                           err::class.java)
     Log.e("MainActivity", "${locerr.code} => ${locerr.message}")

但是我没有看到“结果”这个值不在errorbody或body中,因为它不是成功的案例(200)

如何获得结果或处理错误“结果”?

共有1个答案

东郭凯捷
2023-03-14

试试这个--

            if (res.body()?.status==200) {
                 .
                 .
                    }

            else
                    {
                        try {
                            val jObjError =
                                JSONObject(response.errorBody()!!.string())
                            Toast.makeText(
                                applicationContext,
                            jObjError.getString("yout_message_key"),
                                Toast.LENGTH_LONG
                            ).show()
                        } catch (e: Exception) {
                           Toast.makeText(applicationContext, e.message, Toast.LENGTH_LONG).show()
                            Log.e("errorrr",e.message)
                        }
                    }
 类似资料:
  • 本文向大家介绍IIS7.5 显示详细错误信息的方法,包括了IIS7.5 显示详细错误信息的方法的使用技巧和注意事项,需要的朋友参考一下 使用Win7/Win2008/R2操作系统的用户在不断增加,Win7下测试程序时,如果程序出 错,IIS7会提示HTTP Error 500 - Internal Server Error (500 - 内部服务器错误) 的简单错误信息。这些简单信息对应用户来说比

  • 我有一个MVC6站点,它已部署为Azure Web应用程序。我已使用服务器资源管理器在Visual Studio中启用了所有跟踪/诊断选项。我正在尝试进行远程调试,但我在浏览器上只看到一个错误500,没有找到任何关于错误发生的确切位置的信息(或触发错误断点)。 在从Azure获取的文件日志中找不到任何错误跟踪。 我应该如何解决Azure Web应用程序中的错误500? 将“CustomErrors

  • 所以我有一个名为interestingpoint的类,其中包含变量'name'、'coordines'。我创建了一个包含有趣地点的列表,然后在地图上添加标记,如下所示: 所以主要的问题是,当我点击任何标记时,我可以获得它的细节吗?当我点击标记时,我想显示那个地方的描述和图片。

  • 我已经更新到AndroidStudio 3.1,它在编译时没有显示错误的详细信息。假设我在某个地方漏掉了一个分号,或者我没有实现一个接口的方法,那么它总是给我这个错误,但没有告诉我错误发生的原因和地点!所有错误详细信息都在Studio 3.0中完美显示。如何在3.1中看到它们? 这是我每次出错时收到的消息。

  • 嗨,我是RxJava和Kotlin的新手,我对它有一些概念。 我知道错误是很明显的。所以我知道缺少了什么,但我不知道的是如何处理这个错误。 我尝试添加:,但仍显示相同的错误消息。

  • 我想在JavaFX上发出这样的错误消息。我该怎么做?