【发布时间】:2015-05-11 21:07:45
【问题描述】:
我在 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();
}
【问题讨论】:
-
你有错误的堆栈跟踪吗?想知道这是否是权限问题?
-
您可能在第一个 try/catch 块中遇到了未处理的异常,您只捕获了 ClientProtocolException 和 IOException。
-
您只发现了两种非常具体的错误。从一般的错误处理程序开始,捕获异常分析如何处理它们,然后实现特定的错误处理程序。