我用Java做的服务器端,但是当服务器程序出现异常时,程序就会结束,请问,如何在处理异常让服务器继续监听?谢谢!

解决方案 »

  1.   

    你做什么服务器程序。如果是socket像这样,即使有异常也会继续。while (true) {
                    try{
                    incomingConnection = server.accept();
                    addSockets(incomingConnection);
                    }catch(Exception e){ 
                    }
                }
      

  2.   

    只要你在程序中捕获这个异常就好了。
    如2楼的代码,走进catch块后,
    会继续循环的。
      

  3.   

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    public class ExceptionTest {// public static void main(String[] args) {
    //
    // File file = new File("d:\\007.gif");
    // FileInputStream fi;
    // try {
    // fi = new FileInputStream(file);
    // } catch (FileNotFoundException e) {
    // e.printStackTrace();
    // }
    // System.out.println("xx");
    // }

    public static void main(String[] args) throws FileNotFoundException { File file = new File("d:\\007.gif");
    FileInputStream fi = new FileInputStream(file);
    System.out.println("xx");
    }
    }
    比较下上面两个方法,前者的出了异常可以继续(因为在catch里面处理了),而后者直接把异常抛给main方法,则整个程序运行终止
    可参考http://www.soft88.com/tech/html/140898.htm
      

  4.   

    catch  Exception即可            
      

  5.   

    如果是代码可控制的异常,就catch住,catch内代码(放弃引起异常的操作,继续监听)
    如果是系统级别的异常,就没办法了
      

  6.   

    while (true)
    {
        try
        {
            doSomething();
        }
        catch (Exception ex) {}
    }
    保证死不了.
      

  7.   

    catch(Exception e)里面作相应的处理,就不会结束了。