C ++ में एक्सेप्शन हैंडलिंग केवल कोशिश / फेंक / पकड़ने तक सीमित है। ऑब्जेक्ट पास्कल, जावा, सी # और पायथन के विपरीत, यहां तक कि सी ++ 11 में, finally
निर्माण को लागू नहीं किया गया है।
मैंने C ++ साहित्य का एक बहुत बड़ा भाग देखा है, जो "अपवाद सुरक्षित कोड" पर चर्चा करता है। Lippman लिखते हैं कि अपवाद सुरक्षित कोड एक महत्वपूर्ण लेकिन उन्नत, कठिन विषय है, जो उनके प्राइमर के दायरे से परे है - जो कि लगता है कि सुरक्षित कोड C ++ के लिए मौलिक नहीं है। हर्ब सटर अपने असाधारण C ++ में विषय के लिए 10 अध्याय समर्पित करता है!
फिर भी यह मुझे लगता है कि "अपवाद सुरक्षित कोड" लिखने का प्रयास करते समय बहुत सी समस्याओं का सामना करना पड़ा, यदि finally
निर्माण को लागू किया गया था, तो प्रोग्रामर को यह सुनिश्चित करने की अनुमति दी जा सकती है कि अपवाद की स्थिति में भी, कार्यक्रम को बहाल किया जा सकता है। एक सुरक्षित, स्थिर, रिसाव मुक्त राज्य, संसाधनों के आवंटन के बिंदु के करीब और संभावित रूप से समस्याग्रस्त कोड। एक बहुत अनुभवी डेल्फी और सी # प्रोग्रामर के रूप में मैं कोशिश का उपयोग करता हूं .. अंत में मेरे कोड में काफी बड़े पैमाने पर ब्लॉक करता हूं, जैसा कि इन भाषाओं में अधिकांश प्रोग्रामर करते हैं।
C ++ 11 में लागू सभी 'घंटियाँ और सीटी' को ध्यान में रखते हुए, मुझे यह जानकर आश्चर्य हुआ कि 'आखिर' अभी भी नहीं था।
तो, finally
C ++ में निर्माण को कभी लागू क्यों नहीं किया गया? यह वास्तव में बहुत मुश्किल या उन्नत अवधारणा नहीं है कि प्रोग्रामर को 'अपवाद सुरक्षित कोड' लिखने में मदद करने की दिशा में लंबा रास्ता तय किया जाए।
finally
सी ++ में कोई क्यों नहीं है, और इसके स्थान पर अपवाद से निपटने के लिए क्या तकनीकों का उपयोग किया जाता है?" इस साइट के लिए मान्य और विषय पर है। मौजूदा जवाब इस अच्छी तरह से कवर करते हैं, मुझे लगता है। "सी ++ डिजाइनरों के finally
सार्थक कारणों को शामिल न करने के कारणों पर चर्चा में इसे बदल रहा है?" और " finally
C ++ में जोड़ा जाना चाहिए?" और इस सवाल पर टिप्पणियों पर चर्चा और हर उत्तर पर ले जाने से इस प्रश्नोत्तर साइट का मॉडल फिट नहीं होता है।