Cycle 03
Lab Cycle 3 — File Handling & Exception Handling
Handling ZeroDivisionError Exception
Problem Statement
Write a Python program to handle a ZeroDivisionError exception when dividing a number by zero.
def perform_division(numerator, denominator):
try:
result = numerator / denominator
except ZeroDivisionError as zde:
print(f"[CAUGHT ZeroDivisionError] Cannot divide by zero! ({zde})")
return None
except TypeError as te:
print(f"[CAUGHT TypeError] Operands must be numeric! ({te})")
return None
else:
print(f"Division Successful: {numerator} / {denominator} = {result}")
return result
finally:
print("Execution of division block completed.\n")
def main():
print("--- Test Case 1: Valid Division (10 / 2) ---")
perform_division(10, 2)
print("--- Test Case 2: Zero Division (25 / 0) ---")
perform_division(25, 0)
# Interactive user test
try:
num = float(input("Enter numerator: "))
den = float(input("Enter denominator: "))
perform_division(num, den)
except ValueError:
print("Invalid input! Please enter numbers.")
if __name__ == "__main__":
main()
Question 2 of 3