try块未执行

时间:2016-09-16 11:26:14

标签: android

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

尝试{

            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();
        }

2 个答案:

答案 0 :(得分:0)

运行时异常是Io异常的父类,因此当您按顺序放置catch块以便放置父异常时;将捕获任何异常并仅在父catch中执行。所以它执行运行时异常: 删除实例的运行时异常并查看差异

答案 1 :(得分:0)

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

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