होम › मुफ़्त नोट्स › कक्षा 12 कंप्यूटर विज्ञान › पायथन में एक्सेप्शन हैंडलिंग
पायथन में एक्सेप्शन हैंडलिंग – कक्षा 12 कंप्यूटर विज्ञान नोट्स, महत्वपूर्ण प्रश्न और MCQ
NCERT कक्षा 12 कंप्यूटर विज्ञान, अध्याय 1। नोट्स, मुख्य शब्द, उत्तर सहित महत्वपूर्ण प्रश्न और MCQ।
अध्याय का सार
Python में errors दो व्यापक प्रकार की होती हैं: syntax errors, जो program चलने से पहले पकड़ी जाती हैं, और exceptions, जो execution के दौरान होती हैं। Python में अनेक built-in exceptions हैं, और programmers raise और assert से exceptions उत्पन्न कर सकते हैं। try, except, else और finally से exception handling program को crash होने के बजाय errors से शालीनता से निपटने देता है।
Errors और exceptions
- Syntax errors (parsing errors) तब होती हैं जब code Python के व्याकरण को तोड़ता है; इन्हें ठीक किए बिना program शुरू नहीं होता।
- Exceptions runtime errors हैं; built-in exceptions में ZeroDivisionError, ValueError, TypeError, NameError, IndexError, KeyError, ImportError, IOError, EOFError, OverflowError और IndentationError (एक प्रकार की syntax error) शामिल हैं।
- raise स्पष्ट रूप से exception फेंकता है, जैसे raise ValueError('Negative value'); assert किसी शर्त की जाँच करता है और False होने पर AssertionError देता है, जैसे assert age >= 0।
Exceptions handle करना
- Exception उत्पन्न कर सकने वाला code try block में रखा जाता है; मेल खाते except blocks विशिष्ट exceptions handle करते हैं, और खाली except कोई भी exception पकड़ता है; एक try के बाद अनेक except clauses हो सकते हैं।
- else block केवल तब चलता है जब try में कोई exception न हो; finally block सदा चलता है, exception हो या न हो, और files बंद करने जैसे clean-up हेतु प्रयुक्त होता है।
- Exception होने पर Python exception object बनाता है और handler खोजता है (exception पकड़ना); कोई न मिले तो program traceback के साथ समाप्त हो जाता है।
मुख्य शब्द
- Exception
- program execution के दौरान होने वाली error
- try block
- exception उत्पन्न कर सकने वाला code रखने वाला block
- except block
- उत्पन्न exception को handle करने वाला block
- finally block
- clean-up हेतु प्रयुक्त, सदा execute होने वाला block
- raise
- स्पष्ट रूप से exception फेंकने हेतु प्रयुक्त statement
उत्तर सहित महत्वपूर्ण प्रश्न
Syntax errors और exceptions में अंतर बताइए।2 अंक
Syntax errors तब होती हैं जब code Python के व्याकरण का पालन नहीं करता, जैसे colon का न होना, और execution से पहले पकड़ी जाती हैं, इसलिए program नहीं चलता। Exceptions syntax सही होने पर भी execution के दौरान होती हैं, जैसे शून्य से भाग, और try व except से handle की जा सकती हैं।
finally clause का प्रयोग उदाहरण सहित समझाइए।3 अंक
finally block try और except के बाद सदा execute होता है, exception हुआ हो या नहीं, इसलिए इसका प्रयोग files बंद करने या संसाधन मुक्त करने जैसी clean-up क्रियाओं हेतु होता है। उदाहरण: try: f = open('data.txt'); print(f.read()), except IOError: print('Error'), finally: print('Done')। 'Done' हर स्थिति में छपता है।
User द्वारा दी गई दो संख्याओं को भाग देने वाले program से Python में exception handling समझाइए।5 अंक
Exception handling program को crash हुए बिना runtime errors पर प्रतिक्रिया देने देता है। Error उत्पन्न कर सकने वाले statements try block में लिखे जाते हैं। Exception होने पर Python try block का execution रोकता है, exception object बनाता है और मेल खाता except block खोजता है। Program: try: a = int(input('Enter numerator: ')); b = int(input('Enter denominator: ')); result = a / b, except ValueError: print('Please enter integers only'), except ZeroDivisionError: print('Denominator cannot be zero'), else: print('Result =', result), finally: print('Execution complete')। व्याख्या: यदि user 'ten' जैसा text देता है, तो int() ValueError उत्पन्न करता है और पहला handler संदेश छापता है। यदि denominator 0 है, तो a / b ZeroDivisionError उत्पन्न करता है और दूसरा handler चलता है। कोई exception न होने पर else block परिणाम छापता है; inputs 10 और 4 हेतु यह Result = 2.5 छापता है। finally block सभी स्थितियों में चलता है और 'Execution complete' छापता है। अनेक except blocks विभिन्न errors पर विभिन्न प्रतिक्रियाएँ संभव बनाते हैं, और handlers का क्रम मायने रखता है, जिसमें अधिक विशिष्ट exceptions सामान्य से पहले रखे जाते हैं। raise statement से custom errors भी बनाई जा सकती हैं, जैसे ऋणात्मक आयु हेतु ValueError उत्पन्न करना।
त्वरित पुनरावृत्ति
- Syntax errors बनाम exceptions।
- Built-in exceptions।
- raise और assert।
- try, except, else, finally।
परीक्षा सुझाव
- क्रम: try → except → else → finally।
- विशिष्ट except clauses को सामान्य से पहले रखें।
अभ्यास MCQ
Program चलते समय होने वाली error कहलाती है
- syntax error
- exception
- comment
- keyword
उत्तर देखें
उत्तर: (b) exception. इसे runtime error भी कहते हैं।
किसी संख्या को शून्य से भाग देने पर उत्पन्न होता है
- ValueError
- ZeroDivisionError
- TypeError
- NameError
उत्तर देखें
उत्तर: (b) ZeroDivisionError. उदाहरण: 5 / 0।
Exception हो या न हो, सदा execute होने वाला block है
- finally
- try
- else
- except
उत्तर देखें
उत्तर: (a) finally. यह clean-up हेतु प्रयुक्त होता है।
int('abc') उत्पन्न करता है
- TypeError
- IndexError
- KeyError
- ValueError
उत्तर देखें
उत्तर: (d) ValueError. मान सही type का है पर अनुपयुक्त है।
5 elements वाली list में L[10] access करने पर उत्पन्न होता है
- KeyError
- NameError
- IndexError
- EOFError
उत्तर देखें
उत्तर: (c) IndexError. Index सीमा से बाहर है।
Exception handling में else block कब चलता है
- exception होने पर
- सदा
- try block में कोई exception न होने पर
- कभी नहीं
उत्तर देखें
उत्तर: (c) try block में कोई exception न होने पर. यह except blocks के बाद आता है।
x के -5 होने पर assert x > 0 क्या करता है
- AssertionError उत्पन्न करता है
- -5 छापता है
- चुपचाप False लौटाता है
- x को 5 में बदलता है
उत्तर देखें
उत्तर: (a) AssertionError उत्पन्न करता है. शर्त False है।
किसी expression में undefined variable total का प्रयोग उत्पन्न करता है
- ValueError
- NameError
- TypeError
- SyntaxError
उत्तर देखें
उत्तर: (b) NameError. नाम परिभाषित नहीं है।
सभी अध्याय: कक्षा 12 कंप्यूटर विज्ञान
यह सामग्री Kundali IQ ने पुनरावृत्ति में मदद हेतु मानक, स्थापित तथ्यों से लिखी है। यह NCERT का आधिकारिक प्रकाशन नहीं है; अपनी पाठ्यपुस्तक भी अवश्य पढ़ें।