सी++ वॉकथ्रू

सी++ होम सी++ परिचय सी++ प्रारंभ करें सी++ सिंटेक्स सी++ आउटपुट सी++ टिप्पणियाँ सी++ चर सी ++ उपयोगकर्ता इनपुट सी++ डेटा प्रकार सी++ ऑपरेटर्स सी++ स्ट्रिंग्स सी++ गणित सी++ बूलियन सी++ शर्तें सी++ स्विच सी++ जबकि लूप सी++ लूप के लिए सी++ ब्रेक/जारी रखें सी ++ सरणी सी++ संदर्भ सी++ पॉइंटर्स

सी++ फंक्शन

सी++ फंक्शन सी++ फंक्शन पैरामीटर्स सी++ फंक्शन ओवरलोडिंग

सी++ क्लासेस

सी++ ओओपी सी++ क्लासेस/ऑब्जेक्ट्स सी++ क्लास मेथड्स सी++ कंस्ट्रक्टर्स सी++ एक्सेस स्पेसिफायर्स सी++ एनकैप्सुलेशन सी ++ वंशानुक्रम सी++ बहुरूपता सी++ फ़ाइलें सी++ अपवाद

सी++ कैसे करें

दो नंबर जोड़ें

सी++ उदाहरण

सी++ उदाहरण सी++ कंपाइलर सी++ एक्सरसाइज सी++ प्रश्नोत्तरी


सी++ अपवाद


सी++ अपवाद

सी ++ कोड निष्पादित करते समय, विभिन्न त्रुटियां हो सकती हैं: प्रोग्रामर द्वारा की गई कोडिंग त्रुटियां, गलत इनपुट के कारण त्रुटियां, या अन्य अप्रत्याशित चीजें।

जब कोई त्रुटि होती है, तो C++ सामान्य रूप से रुक जाएगा और एक त्रुटि संदेश उत्पन्न करेगा। इसके लिए तकनीकी शब्द है: सी ++ एक अपवाद फेंक देगा (एक त्रुटि फेंक)।


सी ++ कोशिश करो और पकड़ो

C++ में एक्सेप्शन हैंडलिंग में तीन कीवर्ड होते हैं: try, throwऔर catch:

यह tryकथन आपको कोड के एक ब्लॉक को परिभाषित करने की अनुमति देता है जिसे निष्पादित करते समय त्रुटियों के लिए परीक्षण किया जाना है।

समस्या का throwपता चलने पर कीवर्ड एक अपवाद फेंकता है, जो हमें एक कस्टम त्रुटि बनाने देता है।

catchयदि प्रयास ब्लॉक में कोई त्रुटि होती है, तो कथन आपको निष्पादित किए जाने वाले कोड के ब्लॉक को परिभाषित करने की अनुमति देता है

और कीवर्ड जोड़े में आते हैं try:catch

उदाहरण

try {
  // Block of code to try
  throw exception; // Throw an exception when a problem arise
}
catch () {
  // Block of code to handle errors
}

निम्नलिखित उदाहरण पर विचार करें:

उदाहरण

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw (age);
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Age is: " << myNum;
}

उदाहरण समझाया गया

हम tryकुछ कोड का परीक्षण करने के लिए ब्लॉक का उपयोग करते हैं: यदि ageचर से कम है 18, तो हम एक अपवाद करेंगे , और इसे हमारे ब्लॉक throwमें संभाल लेंगे ।catch

ब्लॉक में catch, हम त्रुटि पकड़ते हैं और इसके बारे में कुछ करते हैं। catch कथन एक पैरामीटर लेता है : हमारे उदाहरण में हम एक intचर ( ) का उपयोग करते हैं (क्योंकि हम ब्लॉक ( ) में प्रकार myNumका एक अपवाद फेंक रहे हैं ), के मान को आउटपुट करने के लिए inttryageage

यदि कोई त्रुटि नहीं होती है (उदाहरण के लिए if ageis के 20बजाय 15, जिसका अर्थ है कि यह 18 से अधिक होगा), catchब्लॉक को छोड़ दिया जाता है:

उदाहरण

int age = 20;

आप throwकिसी संदर्भ संख्या को आउटपुट करने के लिए कीवर्ड का उपयोग भी कर सकते हैं, जैसे कि व्यवस्थित उद्देश्यों के लिए कस्टम त्रुटि संख्या/कोड:

उदाहरण

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (int myNum) {
  cout << "Access denied - You must be at least 18 years old.\n";
  cout << "Error number: " << myNum;
}

किसी भी प्रकार के अपवादों को संभालें (...)

यदि आप ब्लॉक में उपयोग किए गए throw प्रकार को नहीं जानते हैं try, तो आप ब्लॉक के अंदर "तीन बिंदु" सिंटैक्स ( ...) का उपयोग कर सकते हैं catch, जो किसी भी प्रकार के अपवाद को संभालेगा:

उदाहरण

try {
  int age = 15;
  if (age >= 18) {
    cout << "Access granted - you are old enough.";
  } else {
    throw 505;
  }
}
catch (...) {
  cout << "Access denied - You must be at least 18 years old.\n";
}