Chapter 13 एक्सेप्शन हैण्डलिंग, स्ट्रक्चर एवं पॉइण्टर

बहुविकल्पीय प्रश्न (1 अंक)

प्रश्न 1
किसी प्रोग्राम से गलतियों को दूर करने के लिए किस तकनीक का प्रयोग किया जाता है?
(a) डाटा हैण्डलिंग
(b) वैल्यू हैण्डलिंग
(C) एरर हैण्डलिंग
(d) एक्सेप्शन हैण्डलिंग
उत्तर:
(d) एक्सेप्शन हैण्डलिंग का प्रयोग प्रोग्राम की गलतियों को ठीक करने के लिए किया जाता है।

प्रश्न 2
एक्सेप्शन कितने प्रकार के होते हैं?
(a) तीन
(b) चार
(C) दो
(d) पाँच
उत्तर:
(c) एक्सेप्शन दो प्रकार के होते हैं–सिन्क्रोनस तथा असिन्क्रोनस।

प्रश्न 3
एक्सेप्शन हैण्डलिंग क्रियाविधि के किस ब्लॉक में एक्सेप्शन होती
(a) try
(b) catch
(c) throw
(d) इनमें से कोई नहीं
उत्तर:
(a) try

प्रश्न 4
विभिन्न प्रकार के परस्पर सम्बन्धित डाटा आइटमों का समूह क्या कहलाता है?
(a) पॉइण्टर
(b) एक्सेप्शन
(c) फंक्शन
(d) स्ट्रक्चर
उत्तर:
(d) स्ट्रक्चर

प्रश्न 5
स्ट्रक्चर से डाटा लेने के लिए कौन-सा उदाहरण सही है?
(a) stu.name
(b) a = stu.name
(c) a = name;
(d) a= stu.name;
उत्तर:
(d) a = stu.name;

प्रश्न 6
निम्न पॉइण्टर पर दिए गए कमेण्ट में से कौन-सा सही है?
int *ptr, p;
(a) ptr एक इण्टीजर टाइप का पॉइण्टर है, जबकि 2 नहीं
(b) ptr तथा p दोनों इण्टीजर टाइप के पॉइण्टर हैं।
(c) ptr एक इण्टीजर वैल्यू है तथा p पॉइण्टर है।
(d) उपरोक्त में से कोई नहीं
उत्तर:
(a) ptr एक इण्टीजर टाइप के पॉइण्टर को प्रदर्शित कर रहा है, जबकि p एक वैरिएबल को प्रदर्शित कर रहा है।

अतिलघु उत्तरी प्रश्न (1 अंक)

प्रश्न 1
सिन्क्रोनस एक्सेप्शन के अन्तर्गत किस प्रकार की एरर आती है?
उत्तर:
सिन्क्रोनस एक्सेप्शन के अन्तर्गत ओवरफ्लो व आउट ऑफ रेंज प्रकार की एरर आती हैं।

प्रश्न 2
एक्सेप्शन हैण्डलिंग में catch ब्लॉक का प्रयोग क्यों किया जाता है?
उत्तर:
catch ब्लॉक का प्रयोग try ब्लॉक में उपस्थित एक्सेप्शन को कैच करने के लिए किया जाती है।

प्रश्न 3
स्ट्रक्चर क्या होता है?
उत्तर:
विभिन्न प्रकार के परस्पर सम्बन्धित डाटा आइटमों का समूह स्ट्रक्चर कहलाता है।

प्रश्न 4
पॉइण्टर पर संक्षेप में व्याख्या कीजिए। [2016]
अथवा
पॉइण्टर की व्याख्या केवल एक वाक्य में कीजिए। [2018, 17]
उत्तर:
पॉइण्टर C++ प्रोग्रामिंग की सबसे महत्त्वपूर्ण विशेषता है। पॉइण्टर टाइप के वैरिएबल में किसी वैल्यू का मैमोरी एड्रेस रखा जाता है।

प्रश्न 5
पॉइण्टर द्वारा अर्थमैटिक कार्य कौन-कौन से हैं?
उत्तर:
पॉइण्टर द्वारा अर्थमैटिक कार्य निम्न हैं।

लघु उत्तर प्रश्न I (2 अंक)

प्रश्न 1
निम्न पर टिप्पणी लिखिए।
(i) try
(ii) catch
उत्तर:
(i) try इस की-वर्ड का प्रयोग try ब्लॉक में किया जाता है, जो स्टेटमेण्ट्स का समूह होता है, जिसमें एक्सेप्शन हो सकते हैं।
(ii) catch इस की-वर्ड का प्रयोग catch ब्लॉक में किया जाता है, जो try ब्लॉक में उपस्थित एक्सेप्शन को कैच करता है।

प्रश्न 2
स्ट्रक्चर को घोषित करने का प्रारूप लिखिए।
उत्तर:
स्ट्रक्चर को घोषित करने का प्रारूप निम्न हैं।
struct structure_name
{
Data_type Variable1;
Data_type Variable2;
:
Data_type VariableN;
};

प्रश्न 3
एड्स ऑपरेटर व पॉइण्टर ऑपरेटर से क्या तात्पर्य है?
उत्तर:
एड्रेस ऑपरेटर को & चिह्न से प्रदर्शित करते हैं, जिसका प्रयोग वैरिएबल के एड्रेस को ज्ञात करने के लिए किया जाता है। पॉइण्टर ऑपरेटर को चिह्न से प्रदर्शित करते हैं, जिसका प्रयोग वैरिएबल के एड्रेस में स्टोर वैल्यू को ज्ञात करने के लिए किया जाता है।

लघु उत्तरीय प्रश्न II (3 अंक)

प्रश्न 1
एक्सेप्शन हैण्डलिंग पर संक्षिप्त टिप्पणी लिखिए। [2012, 11]
उत्तर:
किसी भी प्रोग्रामिंग भाषा में एक्सेप्शन हैण्डलिंग एक महत्त्वपूर्ण भाग होता है। यह एक ऐसी तकनीक है, जिसके द्वारा एक्सेप्शन नियन्त्रित की जाती है। इस तकनीक के द्वारा हम अवांछित घटनाओं या एरर्स को भी दूर कर सकते हैं। एक्सेप्शन हैण्डलिंग में निम्न कार्य होते हैं।

  1. एक्सेप्शन को हैण्डल करना या उस एरर का हल निकालना।
  2. एक्सेप्शन को थ्रो करना या बताना की प्रोग्राम में त्रुटि है।
  3. एक्सेप्शन को कैच करना या एरर सूचना को एकत्र करना।
  4. एक्सेप्शन को हिट करना या आकस्मिक (Undesirable) अवस्था को पहचानना।

प्रश्न 2
स्ट्रक्चर क्या होता है? स्ट्रक्चर में वैरिएबल को कैसे घोषित किया जाता है?
उत्तर
स्ट्रक्चर डाटा टाइप भिन्न-भिन्न प्रकार के वैरिएबलों के समूह को एक ही नाम से व्यक्त और उपयोग करने की सरल सुविधा है। विभिन्न प्रकार के परस्पर सम्बन्धित डाटा आइटमों का समूह स्ट्रक्चर कहलाता है।

स्ट्रक्चर में वैरिएबल को घोषित करना
प्रारूप struct structure_narte variable_name;

स्ट्रक्चर के वैरिएबल को स्ट्रक्चर के साथ भी घोषित किया जा सकता है।
प्रारूप
struct structure_name
{
Data_type variable1;
Date_type variable2;
……
……
Date_type variableN;
}
variable_name;

प्रश्न 3
पॉइण्टर पर संक्षिप्त टिप्पणी लिखिए। [2013, 08, 07, 06]
अथवा
एक पॉइण्टर से आप क्या समझते हैं? इसके लाभ बताइए। [2009]
उत्तर:
पॉइण्टर C++ प्रोग्रामिंग भाषा की सबसे महत्त्वपूर्ण विशेषताओं में से एक है। पॉइण्टर टाइप के वैरिएबल में किसी वैल्यू का मैमोरी एड्स रखा जाता है। यह मैमोरी एड्स कम्प्यूटर की मैमोरी में किसी डाटा या निर्देश को रखने वाली लोकेशन होती है। अतः हम पॉइण्टरों के द्वारा मैमोरी में स्टोर किए गए डाटा का उपयोग कर सकते हैं।

पॉइण्टर के लाभ निम्नलिखित हैं

  1. विभिन्न फंक्शन्स के मध्य पॉइण्टर का आदान-प्रदान करना।
  2. पॉइण्टर की सहायता से ऐरे को फंक्शन में पास करना।
  3. पॉइण्टर की सहायता से स्ट्रिग को फंक्शन में पास करना।

दीर्घ उत्तरीय प्रश्न (5 अंक)

प्रश्न 1
एक्सेप्शन क्या होती है? यह कितने प्रकार की होती है? उदाहरण सहित समझाइए।
अथवा
उदाहरण देकर C++ में Exception Handling को समझाइए। [2018]
उत्तर:
लॉजिकल अथवा सिण्टैक्स एरर के अतिरिक्त प्रोग्राम में जो एरर आती है, उसे एक्सेप्शन कहते हैं; जैसे-array को सीमा (Scope) से बाहर एक्सेस करना आदि। वह तकनीक जिसके द्वारा ये एक्सेप्शन नियन्त्रित की जाती है, एक्सेप्शन हैण्डुलिंग कहलाती है। इस तकनीक के द्वारा हम अवांछित घटनाओं या एरर्स को दूर भी कर सकते हैं। एक्सेप्शन दो प्रकार की होती है, जो निम्न हैं।

उदाहरण
#include<iostream.h>
#include<conio.h>
void main( )
clrscr( );
int num1, num2;
float d;
cout<<“Enter first number:”;
cin>>num1;
cout<<“Enter second number:”;
cin>>num2;
try
{
if (num2!=0)
{
d=numi/num2;
cout<<“Divison=”<<d<<end1;
}
else
{
throw (num2);
}
catch(int x)
{
cout<<“There is an exception divide by zero. “<<end1;
}
getch( );
}

आउटपुट
Enter first number: 25
Enter second number: 0
There is an exception divide by zero.

0:00
0:00