Course Content
Error Handling in Python
Error Handling in Python
Additional Elements
The full handle structure has 2 additional elements: else
and finally
.
Look at the example:
def divide_numbers(a, b): try: result = a / b except ZeroDivisionError as error: print("(except) ZeroDivisionError: Cannot divide by zero.") except TypeError as error: print("(except) TypeError: Invalid data type for division.") else: print("(else) Division result:", result) finally: print("(finally) Finally block executed.") # Example usage: print("=== CASE 1 ===") divide_numbers(10, 2) # This will execute the else block and finally block. print("=== CASE 2 ===") divide_numbers(5, 0) # This will raise a ZeroDivisionError, execute the except block, and the finally block. print("=== CASE 3 ===") divide_numbers(10, "two") # This will raise a TypeError, execute the except block, and the finally block.
As you can see, the code handles different exceptions appropriately and ensures:
- the
else
block is executed when errors are not raised; - the
finally
block is executed in all cases.
Handle Structure Diagram
Everything was clear?
Thanks for your feedback!
Section 1. Chapter 6