2016-09-16 78 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(); 
}