当前位置: 代码迷 >> J2SE >> 网络编程在处理两个错误时出错了?
  详细解决方案

网络编程在处理两个错误时出错了?

热度:107   发布时间:2016-04-24 01:52:42.0
网络编程在处理两个异常时出错了??
本段代码是客户端的一小段程序,主要是读取服务器端的消息。问题:如果关闭了服务器,想捕获这个异常
(SocketException se),但想同时捕获两个异常时有些疑问?

Java code
                      boolean b=true;                while(b){                try {                    str=dis.readUTF();                                                                 ta.append(str);                    if(s.equals("服务器:exit\n"))                        break;                                    }[b] catch (SocketException se) {            [color=#FF0000]//如果两个异常调换位置,怎么出错了???[/color]                                                               System.out.println("服务器端已关闭");                        b=false;                                    }                catch (IOException e){                    e.printStackTrace();                }[/b]                                                      }                                try {                                        ta.append("服务器端终止连接,请退出程序!!!");                    dos.close();                    dis.close();                    s.close();                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            }                    });


------解决方案--------------------
SocketException是IOException的子类,如果先写IOException自然就不会进入到ScoketException了。
  相关解决方案