2011-03-03 44 views
0

下面的代碼行拋出一個異常:如何獲得異常原因/事業外包裝

HttpResponse response = client.execute(request); // actual HTTP request 

我能抓住它和打印:

Log.e(TAG0, "Exception " + e.getMessage()); 

這使進入logcat的:

03-03 14:52:11.965: ERROR/TestHttpGet(786):異常 www.google.com

不錯,但我不明白爲什麼引發異常。我所做的一切,在引發異常的行之前是:

HttpClient client = new DefaultHttpClient(); 
HttpGet request = new HttpGet(); 
request.setURI(new URI("http://www.google.com/")); 
HttpResponse response = client.execute(request); // actual HTTP request 

我該如何從這裏進步?

回答

2
  1. 你試過Log.e(TAG, "Exception:", e)
  2. TTY附近有沒有別的東西在例外?
  3. 您是否擁有INTERNET權限?
+0

謝謝!我還沒有提出問題3,但加入'e'作爲第三個參數,發現了一個信息世界。第一行是** ERROR/TestHttpGet(821):java.net.UnknownHostException:www.google.com **。嗯... DNS問題?我知道模擬器的內置瀏覽器訪問google.com(或其他網站)沒有問題。也許這確實是INTERNET的許可? – 2011-03-03 20:32:22

+1

是的,最有可能的是。如果您沒有INTERNET權限,則任何連接到遠程服務器的嘗試都將被拒絕。您可以嘗試使用內置瀏覽器並轉至www.google.com。如果這有效,那絕對是許可。 – EboMike 2011-03-03 21:04:09

+0

你是對的 - 再次!唯一缺少的是清單文件中的android.permission.INTERNET。謝謝。 – 2011-03-03 21:16:06