JSONArray を読み取るコードを記述しようとしていますが、インターネット サーバーがダウンしており、デバイスが接続できないか、デバイスにインターネット接続がない可能性があります。
例外キャッチ ブロックの return ステートメントが機能していないように見えるため、ユーザーに適切に応答するにはどうすればよいですか。
これが私のコードです。
public JSONArray getJSONFromUrl(String url) {
JSONArray jArray = null;
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
if(httpResponse.getStatusLine().getStatusCode() == 200){
// Connection was established. Get the content.
HttpEntity httpEntity = httpResponse.getEntity();
// A Simple JSON Response Read
istream = httpEntity.getContent();
} else {
throw new RuntimeException("Failed : HTTP error code : "
+ httpResponse.getStatusLine().getStatusCode());
}
if(BuildConfig.DEBUG){
Log.d(Constants.LOG, "httpEntity : ");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return;
} catch (ClientProtocolException e) {
e.printStackTrace();
return;
} catch (IOException e) {
e.printStackTrace();
return;
}