什麼是處理InterruptedException
S IN番石榴使用Throwables.propagate(E)時,最好的做法?番石榴:Throwables.propagate和InterruptedException的
我喜歡使用throw Throwables.propagate(e)
,尤其是在沒有拋出檢查的異常並在異常處理是調用者的責任的方法。但它並沒有做到我期望的InterruptedException。
我不想失去該線程被中斷的事實,所以我寫出來的東西,如:
public void run() {
Callable c = ...;
try {
c.call();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw Throwables.propagate(e);
} catch (Exception e) {
throw Throwables.propagate(e);
}
}
有沒有辦法在番石榴做到這一點?是否有(向後兼容的?!)方式使用類似Throwables.propagate()的方法將線程設置爲中斷,如果它包裝並傳播InterruptedException?
我會提出這個作爲內番石榴 – artbristol