android - 在 loopj 中处理超时异常

标签 android android-async-http loopj

我在处理 asynchttpclient 中的超时异常时出错

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

    closeProgressDialog();
    Log.e("DB", String.valueOf(error));
    Log.e("DB", String.valueOf(error.getCause() instanceof ConnectTimeoutException));
}

第一个日志给出响应 cz.msebera.android.httpclient.conn.ConnectTimeoutException: Connect to/192.168.0.107:80 timed out

而第二个日志给出 nullfalse 我想处理超时异常怎么办?

最佳答案

你的第2个日志操作是基于

error.getCause()

它为 null 或不是 ConnectTimeoutException,而在您的第一个日志操作中,您直接使用方法参数中给出的 Throwable

因此,我建议使用 error 而不是 error.getCause() 来处理 ConnectTimeoutException

Log.e("DB", String.valueOf(error instanceof ConnectTimeoutException)); // --> Should be true now

关于android - 在 loopj 中处理超时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527688/

相关文章:

android - 在 Jelly Bean 中卸载非常慢

Android - LoopJ AndroidAsyncHttp - 无 POST 参数

android - 使用 Loopj Android 异步 Http 客户端将响应与特定请求关联起来

java - 我可以使用 loopj async HTTP 客户端将数据发送到 PHP 页面吗?

android - LoopJ Header[] 错误

android - 从 LoopJ AndroidAsyncHttp 获取 JSON 数据

android - 以编程方式更改可绘制颜色

android - 如何将 device_owner 设置为我的 android 应用程序?

java - ContentValues 的方法未被模拟

android - LoopJ AndroidAsyncHttp 和 JSON POST 数组