我正在使用来自LoopJ(https://github.com/loopj/android-async-http)的(我猜)相当流行的库来发出GET和POST请求。一切都工作得很好,但是当涉及到cookie处理时,我遇到了一些错误。有时,我的应用程序中的POST-Login请求无故失败。在这种情况下,POST请求的onFailure方法被正确调用:
@Override
public void onFailure(Throwable error, String content) {
Log.e("custom onFailure POST", error.getMessage());
cb.onTaskComplete("LOGIN_FAILED");
}
奇怪的是,“Throwable error”和“String content”都是NULL对象。这使得分析将用户登录到我的应用程序的问题变得非常困难。有人能告诉我,如何获得失败的根源?是否还有其他方法可以实现从请求中获得更好的故障转发?
答案 0 :(得分:0)
最简单的方法是调试应用程序,在onFailure
方法中放置一个断点。当它在该断点上停止时,查看调用堆栈以找到错误源自的位置。
此外,在您的方法中,您可以调用Thread.currentThread().getStackTrace()
然后循环遍历StackTraceElement[]
数组 - 这样您就可以将信息输出到日志(或标准输出等),这样您就不需要调试中的应用程序。