/ / जहां यह उत्पन्न हुआ था, वहां से एक अलग धागे पर एक अपवाद को कैसे पुनर्जीवित किया जाए? - जावा, अपवाद, अपवाद-हैंडलिंग

एक अलग धागे पर एक अपवाद को फिर से कैसे उखाड़ फेंकने के लिए? - जावा, अपवाद, अपवाद-हैंडलिंग

मैं दो थ्रेड का उपयोग करना चाहता हूं, उन्हें कॉल करने देता हूं prefetcher तथा ग्राहक, द prefetchers नौकरी एक इनपुट स्ट्रीम पढ़ना है आगे का ग्राहक धागा और कुछ कतार में डाल दिया। ग्राहक फिर कतार से डेटा पुनर्प्राप्त करता है ... erm इसे प्रोसेस करता है।

अभी व अगर the prefetcher एक अपवाद मुठभेड़ों, मैं कतार में एक लंबित अपवाद डाल की जरूरत है, तो ग्राहक एक अपवाद लेता है कब यह कतार में उस बिंदु तक पहुँचता है.

सवाल यह है, मैं एक (IO) Exception पर पकड़ा होगा prefetcher धागा है, लेकिन मैं पर एक appropiate अपवाद फेंक की जरूरत है ग्राहक धागा।

मेरी पहली हालांकि सिर्फ इसे पकड़ने है, और फिर से उखाड़ना यह दूसरे धागे पर. लेकिन... कि स्पष्ट रूप से अपवाद के ढेर का पता लगाने गड़बड़?

तो मैं बस इसे एक नए अपवाद में लपेटो चाहिए?इसका मतलब होगा कि "कारण" एक और धागे से है, कि परेशानी का कारण सकता है?या मैं मूल अपवाद पूरी तरह से त्याग देना चाहिए; अगर किसी भी तरह संभव मैं "के द्वारा फेंक दिया अपवाद में संभव के रूप में ज्यादा जानकारी के रूप में संरक्षित करना चाहते हैं ग्राहक.

इस स्थिति से निपटने के लिए कौन से मुहावरे उपलब्ध हैं (और वैध)?

उत्तर:

जवाब के लिए 0 № 1

डीबगिंग प्रयोजनों के लिए यह बेहतर है रैप मूल अपवाद नया एक में