现在没有throws出BindException,而是IOException,请问是什么原因啊?

解决方案 »

  1.   

    0~1023号端口是系统保留的端口号,你不能轻易绑定,一旦试图绑定一个已经被使用的端口,就会产生IOException异常。并没有你想当然认为应该有的BindException!
      

  2.   

    看文档,Socket抛出的就是IOException异常
    应用一个类的构造函数前,先看看它会抛出什么异常,绝对有好处
      

  3.   

    捕获异常时你最好遵守最小化异常域的原则,捕获的顺序也要从小往大捕获例如
    try{
       //....throws SomeException   
    }catch(Exception e){}catch(SomeException o){
       //这样就捕不到了
    }如果懒的用catch捕,则在抛时也要注意次序,我在写servlet时就有过所有的IO异常都被servlet异常淹没的经验……
    一定要throws IOException,ServletException.....