यह मेरा साक्षात्कार प्रश्न था।एक कन्स्ट्रक्टर को संभालने का अपवाद
आश्चर्य की बात है कि मैंने कभी इस तरह के सवाल के बारे में सोचा नहीं।
क्या हमारे पास एक निर्माता सी ++ के अंदर अपवाद हैंडलिंग हो सकता है?
तनाव में और बहुत कुछ नहीं सोचते मैंने कहा "हाँ हम शायद इसे एक निर्माता में कर सकते हैं .लेट्स का कहना है कि हम एक नए सूचक का उपयोग करके एक सूचक सदस्य को कुछ स्मृति आवंटित कर रहे हैं और यह एक खराब आवंटन अपवाद फेंकता है, इस तरह से उठाए जा रहे अपवादों की संभावना "
बाद में मैंने सोचा कि निर्माता कभी भी मूल्य वापस नहीं कर सकते हैं। तो एक कन्स्ट्रक्टर के अंदर एक अपवाद कैसे पकड़ा जा सकता है। अब मैं खुद से यह पूछ रहा हूं!
क्या कोई मुझे इस भ्रम से बाहर निकलने में मदद कर सकता है?
आप निर्माता में नहीं, बुला कोड में अपवाद को पकड़ने होगा। – helpermethod
रिसेप्शन वैल्यू के रूप में अपवाद वापस नहीं लौटाए जाते हैं, वे पहले उचित पकड़ ब्लॉक में स्टैक को छोड़ देते हैं, इसलिए जब आप कन्स्ट्रक्टर से कोई मान वापस नहीं कर सकते हैं तो आप इससे अपवाद फेंक सकते हैं। – forsvarir
@ हेल्पर विधि: यदि आपने कन्स्ट्रक्टर में स्मृति आवंटित की है तो आप निश्चित रूप से निर्माता में अपवाद को पकड़ना चाहते हैं ताकि आप स्मृति को आवंटित कर सकें (फिर शायद फिर से फेंक दें)। लेकिन ऑब्जेक्ट को केवल एक ऑब्जेक्ट पर गतिशील रूप से आवंटित करने के लिए यह स्मार्ट है, इसलिए आपको इस मैन्युअल प्रकार के क्लीनअप को करने की आवश्यकता नहीं है। –