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