【发布时间】:2011-12-02 04:46:51
【问题描述】:
private InputStream getISFromURL(String url) {
//post
InputStream is=null;
try {
HttpParams params=new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
HttpClient httpClient=new DefaultHttpClient(params);
HttpPost httpPost=new HttpPost(url);
HttpResponse httpResponce=httpClient.execute(httpPost);
HttpEntity httpEntity=httpResponce.getEntity();
is=httpEntity.getContent();
} catch (Exception e) {
this.context.startActivity(new Intent(this.context, Splash.class));
Log.d("imsoft", "getJSONdataFromURL ="+e.toString());
}
return is;
}
如果 Internet 连接处于活动状态,则此代码运行良好,但是当我断开我的系统(它也断开仿真器)时,此方法会引发 UnknownHostException,并通过打开我的 Splash.java(启动画面)将其捕获在 catch 块中,但在同时它也给我“应用程序已意外停止,请重试”。
所以请给我答案或可以帮助我的建议。
【问题讨论】:
-
也许就在之后(在异常的情况下返回 null,也许这会导致之后的 NullPointerException)。尝试在 shell 中键入
adb logcat以查看发生了什么以及发生在哪里。 -
谢谢您,先生,您的这一点“在异常情况下将返回 null”对我帮助很大。它确实返回了导致此错误的 null 输入流。再次感谢您非常非常。先生您还没有回答,我可以接受您的回答。请以有用的方式回答它,这也将对其他人有所帮助。
-
转发了我的评论作为答案。谢谢。
标签: java android exception android-emulator try-catch