怎样将printStackTrace函数的结果保存到String中呢?

在使用Retrofit访问服务器时遇到失败,通过`t.printStackTrace()`将错误信息输出到`StringWriter`,然后从`StringWriter`获取字符串解决查看错误问题。错误原因在于Android P及以上版本默认禁止了明文HTTP请求。解决方法包括降低targetSdkVersion或启用cleartextTraffic,以及切换到HTTPS传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一次使用Retrofit访问服务器的过程中,一直访问失败

val namecall:Call<NameBean> = ipService.getNameForId(s)
Log.d("zzz", "namecall:----${namecall} ")
namecall.enqueue(object:Callback<NameBean>{
    override fun onFailure(call: Call<NameBean>, t: Throwable) {
        Log.d("zzz", "onFailure: ")
        t.printStackTrace()
        val sw = StringWriter()
        t.printStackTrace(PrintWriter(sw))
        Log.d("zzz", "t.printStackTrace():${ sw.toString()}")
    }
    override fun onResponse(call: Call<NameBean>, response: Response<NameBean>) {
        Log.d("zzz", "onResponse: ")
        if (response != null) {
            if(response.isSuccessful) {
                val getid:NameBean=response.body()
                Log.d("zzz", getid.toString())
                Toast.makeText(MainActivity.mainactivity,getid.toString(),Toast.LENGTH_SHORT).show()
            }
            el
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值