¿cuál es la mejor práctica para manejar InterruptedException
s cuando se usa Throwables.propagate (e) en Guava?Guava: Throwables.propagate e InterruptedException
Me encanta usar throw Throwables.propagate(e)
, especialmente en métodos que no arrojan excepciones marcadas y donde el manejo de excepciones es responsabilidad de la persona que llama. Pero no hace lo que esperaría con InterruptedException.
no quiero perder el hecho de que el hilo se interrumpe, por lo que termino de escribir cosas como:
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);
}
}
¿Hay una manera de hacer esto en guayaba? ¿Existe una forma (compatible con versiones anteriores ?!) de usar algo como Throwables.propagate() que establece el hilo como interrumpido, si está envolviendo y propagando una InterruptedException?
Lo plantearía como una solicitud de función dentro de Guava – artbristol