उत्तर, आमतौर पर, "यह निर्भर करता है" है।
यह इस बात पर निर्भर करता है कि आपके कंपाइलर द्वारा अपवाद हैंडलिंग कैसे लागू की जाती है।
यदि आप एमएसवीसी का उपयोग कर रहे हैं और 32-बिट विंडोज़ को लक्षित करते हैं, तो यह एक स्टैक-आधारित तंत्र का उपयोग करता है, जिसके लिए हर बार जब आप कोशिश ब्लॉक में प्रवेश करते हैं तो कुछ सेटअप कोड की आवश्यकता होती है, इसलिए हाँ, इसका मतलब है कि आप किसी भी समय जुर्माना लगाते हैं इस तरह के एक ब्लॉक दर्ज करें, भले ही कोई अपवाद फेंक दिया हो।
प्रैक्टिक रूप से हर दूसरे प्लेटफॉर्म (अन्य कंपाइलर्स, साथ ही एमएसवीसी लक्ष्य 64-बिट विंडोज़) एक टेबल-आधारित दृष्टिकोण का उपयोग करते हैं जहां कुछ स्थैतिक टेबल संकलित समय पर उत्पन्न होते हैं, और जब एक अपवाद फेंक दिया जाता है, तो एक साधारण टेबल लुकअप किया जाता है, और कोशिश ब्लॉक में कोई सेटअप कोड इंजेक्शन नहीं किया जाना चाहिए।
मुझे यह लगता है: http://stackoverflow.com/questions/691168/how-much-footprint-does-c-exception-handling-add आपके प्रश्न का उत्तर देगा। –
इस प्रश्न पर एक नज़र डालें: http://stackoverflow.com/questions/43253/measuring-exception-handling-overhead-in-c – codeling
¤ सी ++ मानकीकरण समिति की [सी ++ प्रदर्शन पर तकनीकी रिपोर्ट (आईएसओ/आईईसी टीआर 18015 : 2006 सी ++ प्रदर्शन - ड्राफ्ट टीआर)] (http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf)। अनिवार्य रूप से, यह अपवाद हैंडलिंग लागू करने के तरीके पर निर्भर करता है, जो बदले में अक्सर क्या होगा इसके बारे में धारणाओं पर निर्भर करता है। चीयर्स और एचटी।, –