Chapter 10 : Exception Handling In Python
जब भी कोई Programmer कोई Python Program create करता है तो Maximum changes होते है कि उसके Create किए गए Program मे कोई न कोई Error आता है | यानि कि उसको Program से सही Result नही मिल पाता है | आपको ऐसी किसी Problem को face ना करना पडे इस Purpose से हमने इस Chapter को add किया है | दिए गए इस Chapter मे आप Errors , Exception Handling Blocks जैसे और भी महत्वपूर्ण Topics के बारे मे जानेगे | Exception Handling महत्वपूर्ण Chapter होने के कारण Chapter के concepts को मजबूत बनाने के लिए site पर दिए गए Test , Practice Sets को भी Attempt करे |
Error क्या है ?
Python मे coding करने से पहले Errors को समझ लेना बहुत जरूरी है , खासकर की तब जब आप एक Begginer हो यानि coding की शुरूआत कर रहे हो | Error को Exception के नाम से भी जाना जाता है | जब भी कोई code लिखा जाता है | तो Normal है कि लिखे गए program मे कोई mistake हो सकती है | इसी mistake के कारण जब program को run किया जाता है तो Right Output नही मिल पाता है और erros का सामना करना पडता है | errors code मे की गई mistake से उत्पन्न होती है कोई Error उत्पन्न होने के निम्नलिखित कारण हो सकते है :- किसी number को zero से devide करना , कोई varriable जो defin नही किया गया पर उसका Use करना , कोई file folder मे ही नही है | पर उस को open करने की कोशिश करना , Errors का सामना करने के लिए Exception Handling की जाती है |
Types Of Errors
Python Language मे कुल 3 तरह की errors होती है | जब कोई Python Programs लिखा जाता है और Program को run
करने पर कोई error आता है तो वो निम्नलिखित errors मे से किसी से संबंधित होता है |
1. Syntax Errors = > जिस तरह से Human Language मे grammer होती है उसी तरह Python Language की भी
अपनी Grammer होती है Python Language Grammer जैसे : indentation , : , {} etc. अगर Program को Grammer
के अनुसार न लिखा जाए तो जो error आती है वो Syntax Error होती है जैसे : -
if 5 > 2
print("Hello")
उपर दिए गए code को run करने पर जो error आएगी वो error Syntax error होगी क्योंकि if Statement के बाद colon : नहीं लगाया है |
2. RunTime Errors = > RunTime Errors वो Errors होती है जो लिखे गए Program को run करने के बाद आती है जैसे : student पूरा साल Learning करता है , लेकिन result साल के end मे पता चलता है नीचे RunTime Error से संबंधित code दिया गया है |
print(9/0)
उपर दिए गए code को run करने पर जो error आएगी वो एक RunTime error होगी क्योंकि 9 को 0 से devide नही किया जा सकता है |
3. Logical Error = > Logical Errors RunTime Errors और Syntax errors दोनों से बिलकुल अलग है | जब कोई Programmer कोई Program लिखकर Program को run करता है उसको कोई error देखने को नही मिलती है , लेकिन output wrong मिलता है यानि ऐसी errors जो Program मे गलत Logic लिखने के कारण generate होती है जैसे : -
a = 10
b = 20
print("Sum =", a - b)
इस Code को run करने पर कोई error नही आएगी लेकिन Output भी सही नही होगा |
Exception Handling
Exception Handling के उपयोग से Begginer के लिए किसी Error / Exception को Control करना सरल है | Exception Handling Python मे एक process है | जो program मे आने वाली error को handle करती है | python मे Exception (error) को handle करने के लिए नीचे दिए गए keywords का उपयोग किया जाता है | इन keywords का उपयोग conditional statements के जैसे ही किया जाता है , जैसे try block के बाद except block चलेगा except के बाद else block
1.Try = > Try
block Exception Handling का पहला Block है | Try block को try : से defin किया जाता है | Try block मे वह code लिखा
जाता है | जहाँ लगता है
कि Exception आ सकता है अगर Try block मे कोई Exception आता है |
तो वह Exception except block मे चला जाता है |
2.except = > except block Exception Handling का second Block है except
block को except : से defin किया जाता है अगर try block में कोई exception आता है, तो उसे handle करने के लिए except
block का इस्तेमाल किया जाता है।
3.else = > else block Exception Handling का Third Block है else block को else : से defin किया जाता है
| try block मे कोई Exception न आने पर else block
काम करता है |
4.finally = > finally block Exception Handling का last Block है
कोई exception आए या न आए finally block का code हमेशा
run होता है | finally block को finally : से defin किया जाता है |
Rules :
किसी error को handle करने से पहले Exception Handling के rules को समझ लेना बहुत जरूरी है | Exception Handling के rules का निम्नलिखित वर्णन किया गया है |
1. try block मे वही code लिखा जाता है जिस code मे Error आने की संभावना होती है | Note: = > हर code के लिए Exception Handling नही की जाती है |
try :
risky
2. Exception Handling के लिए except block को हमेशा try block के बाद लिखा जाता है |
try :
...
except :
...
3. Exception / Error के according एक try block के साथ एक से अधिक except blocks लिखे जा सकते है |
try:
...
except Syntaxerror:
...
except ZeroDivisionError:4. else block तभी चलता है जब try block मे कोई error न आए |
try:
x = 5 / 1
except:
print("error")
else:
print("No error")5. try मे कोई error आए या न आए finally block हमेशा चलता है | नीचे एक Exception Handling का एक उदाहरण दिया गया है :-
1try: 2 a = int(input("enter first value : ")) 3 b = int(input("enter second value : ")) 4 res = a/b 5 print(res) 6except ZeroDivisionError: 7 print("Error:can not to devide by zero") 8else: 9 print("program successfully complete") 10finally: 11 print("thank you ")
enter first value : 5
enter second value : 0
Error:can not to devide by zero
thank you
enter first value : 5
enter second value : 8
0.625
program successfully complete
thank you
Syntax Explanation
1. try : = > Try block की शुरूआत की गई है |
2. a , b = > a और b नाम के variables create किए गए है , जो input के रूप मे integer value store करते है |
3. res = a/b = > res नाम का एक variable create किया गया है , जिसमे a को b से devide करने
की value store है |
4. print(res) = > res variable मे stored value को display करने के लिए print(res) लिखा गया है |
5. except ZeroDivisionError: = > try block मे कोई error आती है | तो try block वो error except block मे भेज देगा |
except block generate होने वाली उस बडी error की जगह print() मे लिखे गए message को print कर देगा |
6. else : = > try block मे कोई error आने पर except block लेकिन
कोई error न आने पर else block चलता है | else block के चलने पर else मे लिखा गया code चलता है |
7. finally = > try block मे कोई Exception आए या न आए finally block "thank you" वाला message print करेगा |
Nested Try-Except
Nested Try-Except बिलकुल Nested if के जैसे काम करता है यानि एक try block के अंदर एक और try-except block का उपयोग करना ही Nested Try-Except कहलाता है | Nested Try-Except के concept से errors को handle करना Beginers के लिए easy होता है | नीचे Nested Try-Except का उपयोग करने का Syntax दिया गया है जिसके उपयोग से Nested Try-Except का easily use किया जा सकता है |
1try: 2 3 try: 4 5 except: 6 7except:
Advantages Of Nested try-except
1. Multiple Erros Handle = > लिखे जा रहे Program की lenght को बढ़ाएं बिना Nested try-except
के उपयोग से Multiple Erros को handle किया जा सकता है |
2. Complex Programs = > बडे Projects मे errors को handle करने मे Nested try-except block
बहुत सहायक है |
3. Readable = > किसी beginer के लिए complex Program को समझना बहुत कठिन काम
होता है , इसलिए Nested try-except से Program छोटे - छोटे Parts मे Devide हो जाता है जिसके कारण
Program को समझ पाना सरल हो जाता है |
4. Program Crash = > अगर अंदर वाले try Block(inner Block) में error आ जाए तो outer try Block(बाहरी Block)
Program को पूरी तरह बंद होने से बचाता है |
Advantages Of Exception Handling
1. Program Safety = > supose करे की आपने 1 से अधिक programs लिखे लेकिन एक program
मे spelling mistake हो गई तो normal है कि program को run करने पर error आएगी यानि किसी program का
output नही आएगा , लेकिन Explanation Handling
के उपयोग से उस program के output को छोड़ करके बाकी programs का output मिल जाता है | इस तरह
Exception Handling के उपयोग से programs की Safety होती है |
2. Error understanding = > Normal है कि किसी program को run करने पर आए error को
समझना possible है , लेकिन error को समझने मे अधिक समय लगता है | खासकर एक Begginer को तो
Exception Handling के उपयोग से किसी error को समझना सरल है |
3. Debugging = > supose करो कि आपने एक से अधिक programs लिखे किसी एक Program
मे error आने पर Exception Handling के उपयोग से ये पता चल जाता है कि किस program मे mistake है |
4. Code reliable = > Unexpected errors को handle करने से smoothly चलता है |
यानि की कोई ऐसा error जिसकी expection नही उसको handle करना सरल है |
Disadvantage Of Exception Handling
1. समझना कठिन = > error को handle करने के लिए Exception Handling के blocks को
समझना थोडा कठिन होता है खासकर Begginer के लिए
2. Performance = > Exception Handling के block मे जगह - जगह पर Exception use करने
से program की Performance कम हो सकती है |
Language Effects = > C++ , C ,java etc. हर Language मे Exception को handle करने
के लिए Exception Handling के rules methods अलग - अलग होते है |
code size = > जगह - जगह try , except , else और finally block का Use करने
से code का size लंबा हो जाता है जिसके कारण code को read करने मे interest खतम हो जाता है |
You have completed This Chapter ! 🎉
Now you can choose any one of the following options to test your knowledge :
Help Center
Users and we all help you together .