जब अमरूद में Throwables.propagate (ई) का उपयोग कर InterruptedException
रों से निपटने के लिए सबसे अच्छा अभ्यास क्या है?अमरूद: Throwables.propagate और InterruptedException
मैं throw Throwables.propagate(e)
का उपयोग कर प्यार करता हूँ, विशेष रूप से तरीकों कि फेंक कोई अपवाद नहीं है और जहां अपवाद हैंडलिंग फोन करने वाले की जिम्मेदारी है की जाँच की है। लेकिन यह ऐसा नहीं करता जो मैं इंटरप्टेड एक्सेप्शन के साथ अपेक्षा करता हूं।
मैं तथ्य यह है कि धागा बाधित किया गया था खोने के लिए नहीं करना चाहते हैं, तो मैं जैसी चीजों लेखन अंत:
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() जैसे कुछ का उपयोग करने के लिए एक (पिछड़ा संगत ?!) तरीका है जो थ्रेड को बाधित करता है, अगर यह एक अवरुद्ध अपवाद को लपेट रहा है और प्रसारित कर रहा है?
मैं इसे गुवा – artbristol