Think of a task you will always want your program to do, whether it runs perfectly or raise any kind of error. For example, We use of try statement which has an optional clause – “finally” to perform clean up actions, that must be executed under all conditions.
Cleanup actions: Before leaving the try statement, “finally” clause is always executed, whether any exception is raised or not. These are clauses which are intended to define clean-up actions that must be executed under all circumstances.
Whenever an exception occurs and is not being handled by the except clause, first finally will occur and then the error is raised as default [Code 3].
Python Programs illustrating “Defining Clean Up Actions”
Code 1 : Code works normally and clean-up action is taken at the end
Yeah ! Your answer is : 1 I'm finally clause, always raised !!
Code 2 : Code raise error and is carefully handled in the except clause. Note that Clean-up action is taken at the end.
Sorry ! You are dividing by zero I'm finally clause, always raised !!
Code 3 : Code, raise error but we don’t have any except clause to handle it. So, clean-up action is taken first and then the error(by default) is raised by the compiler.
I'm finally clause, always raised !!
Traceback (most recent call last): File "C:/Users/DELL/Desktop/Code.py", line 15, in divide(3, "3") File "C:/Users/DELL/Desktop/Code.py", line 7, in divide result = x // y TypeError: unsupported operand type(s) for //: 'int' and 'str'
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
- Defining a Python function at runtime
- What is a clean, Pythonic way to have multiple constructors in Python?
- Clean the string data in the given Pandas Dataframe
- PyQt5 QCalendarWidget - Blocking all Actions (Signals)
- PyQt5 QCommandLinkButton - Getting Actions List
- PyQt5 QCommandLinkButton - Adding actions object
- PyQt5 QCommandLinkButton - Inserting actions object
- Important differences between Python 2.x and Python 3.x with examples
- Python | Set 4 (Dictionary, Keywords in Python)
- Python | Sort Python Dictionaries by Key or Value
- Python | Merge Python key values to list
- Reading Python File-Like Objects from C | Python
- Python | Add Logging to a Python Script
- Python | Add Logging to Python Libraries
- Python | Visualizing O(n) using Python
- Python | Index of Non-Zero elements in Python list
- Python | Convert list to Python array
- MySQL-Connector-Python module in Python
- Python - Read blob object in python using wand library