Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में try-finally क्लॉज


आप try: ब्लॉक के साथ एक finally: ब्लॉक का उपयोग कर सकते हैं। finally ब्लॉक वह स्थान है जहां कोई भी कोड रखा जा सकता है जिसे निष्पादित होना ही चाहिए, चाहे try-ब्लॉक ने एक्सेप्शन उठाया हो या नहीं। try-finally स्टेटमेंट का सिंटैक्स यह है:

try:
    You do your operations here;
    ......................
    Due to any exception, this may be skipped.
finally:
    This would always be executed.
    ......................

आप finally क्लॉज के साथ else क्लॉज का उपयोग नहीं कर सकते।

उदाहरण

#!/usr/bin/python
try:
    fh = open("testfile", "w")
    fh.write("This is my test file for exception handling!!")
finally:
    print "Error: can't find file or read data"

आउटपुट

यदि आपके पास फाइल को लिखने के मोड में खोलने की अनुमति नहीं है, तो यह निम्नलिखित परिणाम देगा:

Error: can't find file or read data

उसी उदाहरण को अधिक साफ़ तरीके से लिखा जा सकता है:

उदाहरण

#!/usr/bin/python
try:
    fh = open("testfile", "w")
    try:
        fh.write("This is my test file for exception handling!!")
    finally:
        print "Going to close the file"
        fh.close()
except IOError:
    print "Error: can't find file or read data"

जब try ब्लॉक में एक एक्सेप्शन फेंका जाता है, तो निष्पादन तुरंत finally ब्लॉक पर चला जाता है। finally ब्लॉक में सभी स्टेटमेंट्स निष्पादित होने के बाद, एक्सेप्शन फिर से उठाया जाता है और अगले उच्च लेयर के try-except स्टेटमेंट में मौजूद except स्टेटमेंट्स द्वारा हैंडल किया जाता है।


  1. पायथन में फाइल ऑब्जेक्ट्स: पूरी गाइड पायथन में फाइल ऑब्जेक्ट्स: पूरी गाइड

    पायथन में, जब भी हम फाइल्स पढ़ने या लिखने का प्रयास करते हैं, हमें कोई लाइब्रेरी इम्पोर्ट करने की आवश्यकता नहीं होती क्योंकि यह नेटिवली हैंडल किया जाता है। सबसे पहली चीज जो हम करेंगे वह है बिल्ट-इन open फंक्शन का उपयोग करके एक फाइल ऑब्जेक्ट प्राप्त करना। open फंक्शन एक फाइल खोलता है और एक फाइल ऑब्ज

  1. - पायथन में 'except clause' का उपयोग बिना एक्सेप्शन के कैसे करें?

    यदि हम बिना एक्सेप्शन के except क्लॉज को परिभाषित करते हैं, तो यह सभी प्रकार के एक्सेप्शन को हैंडल कर सकता है। हालांकि, यह न तो अच्छी कोडिंग प्रैक्टिस है और न ही अनुशंसित है। उदाहरण try: print(foo + qux + 7) except: print(There is error) आउटपुट आपको आउटपुट मिलता है: There is error इस प्रकार

  1. - पायथन में try-finally क्लॉज का उपयोग करके एक्सेप्शन कैसे हैंडल करें?

    अब तक try स्टेटमेंट हमेशा except क्लॉज के साथ जोड़ा गया था। लेकिन इसका उपयोग करने का एक और तरीका भी है। try स्टेटमेंट के बाद finally क्लॉज हो सकता है। Finally क्लॉज को क्लीन-अप या टर्मिनेशन क्लॉज कहा जाता है, क्योंकि उन्हें सभी परिस्थितियों में एक्जीक्यूट किया जाना चाहिए, यानी finally क्लॉज हमेशा एक