आप 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 स्टेटमेंट्स द्वारा हैंडल किया जाता है।