我在处理 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
而第二个日志给出 null
或 false
我想处理超时异常怎么办?
最佳答案
你的第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/