Question 02 of 03

Handling ZeroDivisionError Exception

Write a Python program to handle a ZeroDivisionError exception when dividing a number by zero.

C++
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