[英]how to use try catch instead force close?
我在android和java中有此代碼。 當用戶的Internet連接出現問題或無法訪問網站時,我想向用戶顯示對話框。 我嘗試將代碼放入try-catch
塊中,但是當Internet連接出現問題時,我的應用程序已關閉。 我想向用戶顯示一條消息,而不是關閉該應用程序。
HttpPost ht = new HttpPost("http://yahoo.com");
HttpClient hc = new DefaultHttpClient();
HttpResponse hr = null;
try {
hr = hc.execute(ht);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String htmlTemp = "";
try {
HttpEntity he = hr.getEntity();
htmlTemp = new String(EntityUtils.toString(he));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
您可以嘗試將UnknownHostException
添加到捕獲中,或者可以在調用request之前使用此方法:
public static boolean hasConnection() {
ConnectivityManager cm = (ConnectivityManager) MbridgeApp.getContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected()) {
return true;
}
NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mobileNetwork != null && mobileNetwork.isConnected()) {
return true;
}
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
return true;
}
return false;
}
您是否在清單文件中聲明了此使用權限?
<uses-permission android:name="android.permission.INTERNET" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.