Cycle 03
Lab Cycle 3 — File Handling & Exception Handling
Custom Duplicate Numbers Exception
Problem Statement
Write a Python program that reads a list of integers from the user and throws a custom exception if any numbers are duplicates.
# Define Custom User-Defined Exception
class DuplicateNumberError(Exception):
"""Exception raised when duplicate numbers are found in the list."""
def __init__(self, duplicate_value, message="Duplicate numbers are not allowed"):
self.duplicate_value = duplicate_value
self.message = f"{message}! Found duplicate element: {duplicate_value}"
super().__init__(self.message)
def validate_unique_integers(int_list):
seen = set()
for num in int_list:
if num in seen:
raise DuplicateNumberError(num)
seen.add(num)
return True
def main():
print("--- DUPLICATE NUMBER VALIDATOR ---")
user_input = input("Enter space-separated integers (e.g., 10 20 30 40): ")
try:
numbers = [int(x) for x in user_input.strip().split()]
print(f"Input List: {numbers}")
validate_unique_integers(numbers)
print("SUCCESS: All integers in the list are distinct and unique!")
except ValueError:
print("Error: Input contains non-integer elements.")
except DuplicateNumberError as dne:
print(f"\n[CUSTOM EXCEPTION TRIGGERED]")
print(f"Exception Message: {dne}")
if __name__ == "__main__":
main()
Question 3 of 3