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;
}
如果互联网连接处于 Activity 状态,但是当我断开系统连接(这也会断开模拟器)时,此代码会很好地工作,然后此方法会抛出 UnknownHostException 并通过打开我的 Splash.java(启动屏幕)在 catch block 中捕获它,但在同时它还给我“应用程序已意外停止,请重试”。
所以请给我可以帮助我的答案或建议。
最佳答案
根据您的要求,这是我在更正式的答案中的评论:
也许您的问题是由于您在异常情况下返回 null 引起的。
如果调用者在引用方法结果之前未能检查其结果是否不为 null,则可能会抛出 NullPointerException。
尝试在 shell 中输入 adb logcat
看看会发生什么以及发生在哪里。
关于java - 捕获异常后,模拟器仍然显示 "Application has stopped unexpectedly ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7673883/