你在run方法try catch起来就可以了,线程的run方法和主main方法其实是一样的。

解决方案 »

  1.   

    这个我知道,现在是用了另一个容器来装的
    我是想有没有更简单的,将JDK中的类重载某些方法就能实现?看了源码后,愣是没找到,好多类都是私有的,自己再实现接口太麻烦了。ScheduledThreadPoolExecutor的注解中也有讲到,但是
    static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }
    这个实现太麻烦了,JDK中的ScheduledFutureTask有N多代码了//以下是我现在用的方法
    private class RunnableRunner implements Runnable{
    private Runnable r;
    RunnableRunner(Runnable r){
    this.r = r;
    }
    @Override
    public void run() {
    try{
    r.run();
    }catch(Throwable t){
    logger.error(t.getMessage(),t);
    throw t; }

    }

    }
      

  2.   

    Thread.setDefaultUncaughtExceptionHandler(),可以用这个方法来实现你的需求