【问题标题】:DefaultHTTPClient throwing unknown exceptionDefaultHTTPClient 抛出未知异常
【发布时间】:2012-04-23 06:30:04
【问题描述】:

我正在尝试在 Android Java 环境中检索 POST 对 URL 的响应:

这是我的代码:

          try{
                    DefaultHttpClient httpClient = new DefaultHttpClient();
                    ResponseHandler <String> resonseHandler = new BasicResponseHandler();
                    HttpPost postMethod = new HttpPost("http://myurl.com/post.php");
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
             
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("data1", "OK");
                    jsonObject.put("data2", "OK2");
             
                    nameValuePairs.add(new BasicNameValuePair("jsonString", jsonObject.toString()));
                    postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    String response = httpClient.execute(postMethod,resonseHandler);
                    
                    System.out.println(response);
            }
            catch(Exception e)
            {
                System.out.println("DIED");
            }

果然,它返回“DIED”。 如果我将System.out.println("DIED"); 更改为:System.out.println(e.getMessage()) 然后我的应用程序崩溃了。

我做错了什么?

【问题讨论】:

  • 请改用System.out.println(e)。或e.printStackTrace()。或者至少System.out.println(e.getClass())
  • @JonSkeet 你确定这行会在运行 Android 代码时显示吗?
  • 可能在没有消息的情况下创建了异常。试试e.printStackTrace();
  • Android 不显示标准控制台输出。使用Log.e("TAG", e)(你需要导入android.util.Log)然后在LogCat中看到错误。
  • @BorisStrandjev:鉴于他当前的代码显然报告“死亡”,我假设 OP 已经涵盖了这一点。

标签: java android httprequest


【解决方案1】:

为 Logger 使用 android.util.Log 类..

catch(Exception e)
  {
     Log.e("Exception:",e.toString());
      // or  
     e.printStackTrace();
  }

【讨论】:

  • @Boris Strandjev - 然后呢?他想检查异常,我该如何帮助他解决这个问题?
  • 你是对的。也许我误读了What am I doing wrong?,比如帮助我解决错误,而不是help me print the error
  • @BorisStrandjev - 在 SO 中,有很多用户和新用户不知道“如何提问”——但在这里我们可以通过尝试理解他们的问题来提供尽可能多的帮助。跨度>
  • 也许我被你的句柄弄糊涂了。通常这样的用户完全没有经验,并且行动不够充分。显然,您的情况和@JonSkeet 的情况都不是这样。再次抱歉。
  • 抱歉,我的问题有点含糊。我主要想知道为什么我首先得到了异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2013-05-24
相关资源
最近更新 更多