QA
Beginner LevelPython

How does the try-except-else-finally exception handling block execute in Python?

❓ Interview Prompt: Explain exception handling control flow: `try`, `except`, `else` (runs ONLY if no exception occurred), and `finally` (ALWAYS runs).

Python's exception handling control flow consists of four clauses:

•
'try': Code block monitored for exceptions.
•
'except ExceptionType': Executes ONLY if a matching exception is raised inside 'try'.
•
'else': Executes ONLY if the 'try' block completed WITHOUT raising any exceptions.
•
'finally': Executed ALWAYS, regardless of whether an exception occurred, was caught, or was uncaught! Ideal for closing file handles and database connections.

Code Implementation Example

python
def divide_and_log(a, b):
    try:
        result = a / b
    except ZeroDivisionError as err:
        print('Error: Division by zero!')
    else:
        print(f'Success! Result is {result}') # Runs ONLY if try succeeds!
    finally:
        print('Cleanup: Execution complete.') # ALWAYS runs!
💡Exception control flow showing try, except, else, and finally blocks.
🎯 Interview Key Takeaway

Use the 'else' block for code that should execute only when try succeeds, and 'finally' for guaranteed resource cleanup.

#Exception Handling#try-except#else#finally#Beginner
Back to all Python Questions→

More Python Interview Questions

Beginner LevelPython

What is the Python Global Interpreter Lock (GIL) and how does it affect multi-threading?

Beginner LevelPython

What is the difference between a List, Tuple, Set, and Dictionary in Python?

Beginner LevelPython

Why are mutable default arguments (like def func(items=[])) dangerous in Python and how do you fix them?