0
如果抛出一个未捕获的异常,并且您想通过重新启动一个相同的线程来恢复异常(例如JMS连接丢失),那么最简单的方法是什么?在现有线程的uncaughtexception处理程序中启动一个新线程
该类从Thread扩展而来,并且该线程有一个UncaughtExceptionHandler。
如果抛出一个未捕获的异常,并且您想通过重新启动一个相同的线程来恢复异常(例如JMS连接丢失),那么最简单的方法是什么?在现有线程的uncaughtexception处理程序中启动一个新线程
该类从Thread扩展而来,并且该线程有一个UncaughtExceptionHandler。
最简单的事情做的是通过run()方法
void run() {
boolean done = false;
while(!done) {
try {
...
done = true;
} catch (ConnectionLostException ex) {
// log exception
}
}
}
“重启”当前线程你能表现出一定的代码?我假设你无法在你的run方法中捕捉到'Exception'来正确处理这个问题? – Gray