मैं एक विरासत प्रणाली पर काम कर रहा हूं जिसमें एक कस्टम अपवाद है जिसका उपयोग हर जगह-भौतिकता है। यह ServletException
वर्ग से प्रेरित था, जिसमें कहा गया था "अच्छी तरह से जब भी आप अपने सर्वलेट में अपवाद रखते हैं, तो आप इसे ServletException
फेंकना चाहेंगे"।एक चेक अपवाद बनाना एक RuntimeException
जैसे ही सिस्टम विकसित हुआ (10 वर्षों से अधिक) उच्च स्तर पर अपवादों को पकड़ने की एक और मजबूत प्रणाली हुई है और अब इस कस्टम अपवाद में हर अपवाद को लपेटना आवश्यक नहीं है। (कोई तर्क दे सकता है कि यह कभी नहीं था, लेकिन यह एक और कहानी है। यह एक स्थिर ऐप है, इसलिए मैं बहुत ज्यादा शिकायत नहीं करता !!) लेकिन हम धीरे-धीरे समय के साथ-साथ धीरे-धीरे उन्हें दोबारा नहीं कर पाएंगे।
हालांकि, एक चीज जो चीज़ों को आगे बढ़ने में आसान बनाती है, यदि कस्टम अपवाद एक अपवाद अपवाद के बजाय रनटाइम अपवाद था। इस तरह हमें इसे हर जगह स्पष्ट रूप से पकड़ने की आवश्यकता नहीं होगी, और विरासत कोड जिसे अभी तक दोबारा नहीं किया गया है, वैसे ही यह उसी तरह फेंकना जारी रखेगा क्योंकि अगर कोई हुआ तो वे एक शून्य सूचक अपवाद फेंक देंगे।
मेरा प्रश्न है ... एक बार चेक अपवाद लेने और इसे रनटाइम अपवाद बनाने के दुष्प्रभाव क्या हैं?
मैं अनावश्यक जांच करने के लिए चेतावनी से अलग किसी भी के बारे में सोच नहीं कर सकते, और घोषणाओं फेंकता है, लेकिन यह कोई है जो इस सड़क के नीचे से पहले किया गया है से इनपुट प्राप्त करने के लिए अच्छा होगा।
"गोश-फ्रिकिटी-हर जगह" – Gareth
का उत्कृष्ट उपयोग, यह एक सभ्य युग से एक सुरुचिपूर्ण हथियार है। – corsiKa
आप की तरह, मैं वास्तव में तत्काल अवधि में इसके किसी भी दुष्प्रभाव के बारे में नहीं सोच सकता। लंबी अवधि के लिए, आपको इस बारे में सोचना पड़ सकता है कि इस अपवाद को स्टैक चेन के सभी तरीकों से प्रचारित करने के लिए क्या हैंडलिंग की आवश्यकता है। – ControlAltDel