把线程的代码写成如下这个样子while(true){
  try{
     // 你的代码
  }catch(Exception ex){
    // 出现异常
    // 休息一下
     try{
       Thread.sleep(1000);
     }catch(Exception ee){}
  }
}这样即使抛出了异常,线程也会继续运行了。
那个sleep的时间自己定义好了1秒 = 1000

解决方案 »

  1.   

    好像不行,我本来就是跟你一样的写的Smssend类public class Smssend 
    {

    public Smssend()
    {
    }

    public String example(String user,String password,String stu_num,String name,String classname,String phone,String content,String datetime,String school_num)
    {
    Service srvcModel = new 
        ObjectServiceFactory().create(IHs8000service.class); 
     XFireProxyFactory factory =  
           new XFireProxyFactory(XFireFactory.newInstance().getXFire()); 
     String helloWorldURL = 
           "http://192.168.30.182:8080/Hs8000web/services/Hs8000service"; 

    try
    {
     IHs8000service srvc = (IHs8000service)factory.create(srvcModel, helloWorldURL);
    return srvc.example(user,password,stu_num,name,classname,phone,content,datetime,school_num); 
    }
    catch (MalformedURLException e)
    {return "faild";
    // TODO 自动生成 catch 块

    }
     
     
    }

    }
    线程类
    while(true)
    {.........
      Smssend sd=new Smssend();
     String result = sd.example(user,password,rs1.getString("num"),gb2iso(rs1.getString("name")),gb2iso(rs1.getString("class")),rs1.getString("phone"),strSql,rs1.getString("date")+" "+rs1.getString("time"),rs1.getString("school_num")); 

    ........}
    但它就是会自动结束,
      

  2.   

    1楼说的是对的,我没有理解你的本意,现在我明白了,原来程序出现了一个未捕捉的异常,导致了线程的终止.添加了
    catch(Exception ex){
    }程序就好了.