使用Retrofit 2和Kotlin获取错误的原始HTML / JSON响应

我有这个小扩展函数来简化以同步方式从Call对象获取正文:

private fun <T> Call<T>.bodyOrError(): T? { val resp = this.execute() if (resp.isSuccessful) { return resp.body() } val errorBody = resp.errorBody()?.string() throw RuntimeException("Failed to parse the HTTP response: $errorBody") } 

问题是这行引发“com.fasterxml.jackson.databind.JsonMappingException:不能反序列化的实例java.lang.String超出START_OBJECT标记”:

 val resp = this.execute() 

如果我决定捕捉这个异常,我怎么得到它试图解析的原始JSON / HTML响应,所以我可以把它包含在异常堆栈跟踪中? 想象一下,这是发生在生产(这就是为什么我不想使用任何HttpLoggingInterceptor等),我会相当注定,因为我不知道在解析过程中究竟出了什么问题。 (我正在使用杰克逊解析器)

提前致谢!