FacebookグラフAPIにHTTP-getリクエストを送信しています。
約1/5回で、私のコードは決してに到達しませんLog.i("debug", "resp");
。例外はスローされません。いけませんか?それとも、デフォルトでは非常に長いタイムアウトですか?
カスタムタイムアウトを追加すると(以下を参照)、例外がスローされます。ただし、コードがtry + catchステートメントでラップされていても、でエラーを処理させるのではなく、アプリがクラッシュします(未処理の例外の場合と同様)onPostExecute()
。なぜ私はその方法に終わらないのですか?
protected Map<String, Integer> doInBackground(Void... params) {
Map<String, Integer> result = new HashMap<String, Integer>();
try {
HttpGet get = new HttpGet("https://graph.facebook.com/....etc");
//final HttpParams httpParams = httpclient.getParams();
//HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
//HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpResponse response = httpclient.execute(get);
Log.i("debug", "resp");
HttpEntity resEntityGet = response.getEntity();
//do stuff with resEntityGet
return result;
} catch (Exception e) {
Toast.makeText(mainActivity, "Error: " + ex.getMessage(), Toast.LENGTH_LONG).show();
return null;
}
}
protected void onPostExecute(Map<String, Integer> result) {
if(result != null){
//use the result data
} else {
//exception occured
}
}