java - 捕获异常后,模拟器仍然显示 "Application has stopped unexpectedly "

标签 java android exception android-emulator try-catch

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/

相关文章:

java - 长时间运行的进程出现奇怪的 JVM 崩溃 - 可能是 JVM 错误

android - 在 Paypal 集成中禁用信用卡支付选项

Android Studio 在运行 Flutter App 时抛出异常

java - 反序列化序列化对象时出现 ClassNotFound 异常

java - 在 LibGDX 中移动 Sprite

java - 在.NET中,父类的构造函数首先调用其子类的构造函数吗?

java - 错误ArrayIndexOutOfBoundsException仅有时发生,用户权限?

java - Cocos2d-x 中无法出现 'Hello World'

entity-framework - DDD : Adding entity to repository and handlig exceptions

java - 并发请求事务以防止不必要的持久化