फ़ंक्शन हस्ताक्षर में "थ्रो" के खतरे
हालाँकि फ़ंक्शन हस्ताक्षर में "थ्रो" कीवर्ड को शामिल करना आकर्षक हो सकता है अपवादों की संभावना को स्पष्ट रूप से घोषित करें, इस प्रथा को दृढ़ता से हतोत्साहित किया जाता है। इसके स्पष्ट उद्देश्य के बावजूद, कई तकनीकी कारण हैं कि इस दृष्टिकोण को एक खराब विकल्प क्यों माना जाता है। फ़ंक्शन हस्ताक्षरों में घोषित अपवाद विनिर्देश। परिणामस्वरूप, कंपाइलर यह सत्यापित नहीं कर सकता कि फ़ंक्शन वास्तव में निर्दिष्ट अपवाद को फेंक देगा। यह संभावित रूप से भ्रामक हस्ताक्षरों की ओर ले जाता है, क्योंकि फ़ंक्शन वास्तव में एक अलग अपवाद या कोई अपवाद नहीं दे सकता है। प्रदर्शन उपरि. आधुनिक अपवाद प्रबंधन तंत्रों की तुलना में यह विशेष रूप से अवांछनीय है जो संकलन समय पर इन जांचों को अधिक कुशलता से निष्पादित करते हैं। संकलक। उदाहरण के लिए, एमएसवीसी बड़े पैमाने पर अपवाद विनिर्देशों को नजरअंदाज करता है, "थ्रो ()" के विशेष मामले को छोड़कर, जिसे गारंटी के रूप में समझा जाता है कि कोई अपवाद नहीं फेंका जाएगा। यह असंगतता प्लेटफ़ॉर्म-विशिष्ट समस्याएं पैदा करती है और पोर्टेबिलिटी को जटिल बनाती है। अपवाद प्रबंधन के लिए वैकल्पिक दृष्टिकोण। इनमें शामिल हैं:
संसाधनों को प्रबंधित करने और संभावित त्रुटियों को संभालने के लिए RAII (संसाधन अधिग्रहण प्रारंभ है) तकनीकों का उपयोग करना
विशिष्ट अपवाद परिदृश्यों को स्पष्ट रूप से परिभाषित करने और संभालने के लिए अपवाद वर्गों को नियोजित करनासंरचित अपवाद हैंडलिंग तंत्र का उपयोग करना जो संकलन-समय की जांच और अधिक कुशल अपवाद हैंडलिंग प्रदान करता है
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3