在现有线程的uncaughtexception处理程序中启动一个新线程

时间:2013-04-15 14:16:07

标签: java multithreading uncaughtexceptionhandler

如果抛出未捕获的异常并且您希望通过重新启动相同的线程来恢复,那么只会抛出异常(例如JMS连接丢失),最简单的方法是什么?

该类从Thread扩展,并且该线程具有UncaughtExceptionHandler。

1 个答案:

答案 0 :(得分:1)

最简单的方法是通过run()方法“重启”当前线程

void run() {
    boolean done = false;
    while(!done) {
        try {
           ...
           done = true;
        } catch (ConnectionLostException ex) { 
            // log exception
        }
    }
}