2016-09-16 79 views
-7

代码: - try块不执行,如果我扩展Asynctask应用程序 崩溃,并且如果我不扩展Asynctask那么catch(Exception e)会给我一个错误消息 - “android.os.NetworkOnMainThradException”。try块不执行

尝试{

  HttpURLConnection con = (HttpURLConnection) new URL("http://apis.hofficedemo1.ondemandcrm.co/AppRequestAPI").openConnection(); 
      con.setRequestMethod("POST"); 
      con.setDoInput(true); 
      con.setDoOutput(true); 
      con.connect(); 

      con.getOutputStream().write(("txt_username=" + txt_username).getBytes()); 
      con.getOutputStream().write(("txt_password=" + txt_password).getBytes()); 
      con.getOutputStream().write(("appMode=" + appMode).getBytes()); 
      con.getOutputStream().flush(); 

      //System.out.println(txt_username+" "+txt_password+" "+appMode); 

      InputStream is = con.getInputStream(); 
      byte[] b = new byte[1024]; 
      while (is.read(b) != -1) { 
       System.out.println(Arrays.toString(b)); 
      } 
      con.disconnect(); 
     } catch (IOException e) { 
      Log.d("IOException", "Some error"); 
     } 
     catch (Exception e){ 
      e.printStackTrace(); 
     } 
+0

请提catch块异常 写e.printStackTrace(),看看有没有什么异常,并张贴在这里 –

+0

我不知道什么是与try块的问题。我试过各种方法,并明白这是有问题的HttpURLConnection –

+2

添加e.printStackTrace()在catch块中看看有什么问题在尝试块 –

回答

0

运行时异常IO异常的父母,所以当你把catch块的次序,使得家长例外放置;任何异常将被获取,并在只有父母抓执行。所以它执行运行时异常: 删除运行时异常的实例并查看差异

+0

如果我删除RuntimeException,那么应用程序崩溃,我得到一个报告 - “不幸的是,应用程序已停止“ –

+0

第一件事:”不幸的是,应用程序已停止“=例外。刚刚看到你的logcat它是网络主线程exception.Try在asynctask做网络操作。 – DevKRos

+0

好的意思是我需要扩展Asynctask? –

0

在try块后添加,以便我们可以看到有什么异常。

catch(Exception e){ 
e.printStackTrace(); 
}