Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में अपवाद हैंडलिंग और ऑब्जेक्ट विनाश

C ++ में डिस्ट्रक्टर्स को मूल रूप से तब कहा जाता है जब ऑब्जेक्ट नष्ट हो जाएंगे और सिस्टम से मेमोरी जारी करेंगे। जब कक्षा में एक अपवाद फेंका जाता है, तो कैच ब्लॉक निष्पादित होने से पहले विनाशक को स्वचालित रूप से बुलाया जाता है।

एल्गोरिदम

Begin
   Declare a class sample1.
      Declare a constructor of sample1.
         Print “Construct an Object of sample1”
      Declare a destructor of sample1.
         Print “Destruct an Object of sample1”
   Declare a class sample.
      Declare a constructor of sample2.
         Declare variable i of the integer datatype.
         Initialize i = 7.
         Print “Construct an Object of sample1”.
         Throw i.
      Declare a destructor of sample2.
         Print “Destruct an Object of sample2”
   Try:
      Declare an object s1 of class sample1.
      Declare an object s2 of class sample2.
   Ctach(int i)
      Print “Caught”.
      Print the value of variable i.
End.

उदाहरण कोड

#include <iostream>
using namespace std;
class Sample1 {
   public:
      Sample1() {
         cout << "Construct an Object of sample1" << endl;
      }
      ~Sample1() {
         cout << "Destruct an Object of sample1" << endl;
      }
};
class Sample2 {
   public:
      Sample2() {
         int i =7;
         cout << "Construct an Object of sample2" << endl;
         throw i;
      }
      ~Sample2() {
         cout << "Destruct an Object of sample2" << endl;
      }
};
int main() {
   try {
      Sample1 s1;
      Sample2 s2;
   } catch(int i) {
      cout << "Caught " << i << endl;
   }
}

आउटपुट

Construct an Object of sample1
Construct an Object of sample2
Destruct an Object of sample1
Caught 7

  1. C++ में एक्सेप्शन हैंडलिंग बेसिक्स

    सी ++ में, अपवाद हैंडलिंग रनटाइम त्रुटियों को संभालने की एक प्रक्रिया है। अपवाद एक घटना है जिसे सी ++ में रनटाइम पर फेंक दिया जाता है। सभी अपवाद std::Exception वर्ग से लिए गए हैं। यह एक रनटाइम त्रुटि है जिसे संभाला जा सकता है। अगर हम अपवाद को हैंडल नहीं करते हैं तो यह अपवाद संदेश को प्रिंट करता है औ

  1. सी ++ में हटाएं () और मुफ्त ()

    हटाएं () डिलीट ऑपरेटर का उपयोग मेमोरी को डीलोकेट करने के लिए किया जाता है। उपयोगकर्ता को इस डिलीट ऑपरेटर द्वारा बनाए गए पॉइंटर वेरिएबल को डीलोकेट करने का विशेषाधिकार है। यहाँ C++ भाषा में डिलीट ऑपरेटर का सिंटैक्स दिया गया है, delete pointer_variable; आबंटित मेमोरी के ब्लॉक को हटाने के लिए सिंटैक्

  1. सी # में अपवाद हैंडलिंग क्या है?

    अपवाद समस्या है जो तब उत्पन्न होती है जब कोई प्रोग्राम निष्पादित होता है। निम्नलिखित कीवर्ड C# में अपवादों को संभालता है। कोशिश करें एक कोशिश ब्लॉक कोड के एक ब्लॉक की पहचान करता है जिसके लिए विशेष अपवाद सक्रिय हैं। पकड़ें कैच कीवर्ड एक अपवाद को पकड़ने का संकेत देता है। आखिरकार दिए गए कथनों के सेट