qual è la procedura migliore per la gestione di InterruptedException
s quando si utilizza Throwables.propagate (e) in Guava?Guava: Throwables.propagate e InterruptedException
Mi piace usare throw Throwables.propagate(e)
, in particolare nei metodi che non generano eccezioni controllate e dove la gestione delle eccezioni è responsabilità del chiamante. Ma non fa quello che mi aspetterei con InterruptedException.
io non voglio perdere il fatto che il filo è stato interrotto, così finisco scrivendo cose come:
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);
}
}
C'è un modo per fare questo in Guava? Esiste un modo (compatibile all'indietro ?!) per usare qualcosa come Throwables.propagate() che imposta il thread come interrotto, se sta avvolgendo e propagando un InterruptedException?
Vorrei sollevarlo come una richiesta di funzionalità all'interno di Guava – artbristol