# Создайте собственный класс-исключение, который должен проверять содержимое списка на наличие только чисел. Проверить
# работу исключения на реальном примере. Запрашивать у пользователя данные и заполнять список необходимо только числами.
# Класс-исключение должен контролировать типы данных элементов списка.
# Примечание: длина списка не фиксирована. Элементы запрашиваются бесконечно, пока пользователь сам не остановит работу
# скрипта, введя, например, команду «stop». При этом скрипт завершается, сформированный список с числами выводится на
# экран.
# Подсказка: для этого задания примем, что пользователь может вводить только числа и строки. Во время ввода
# пользователем очередного элемента необходимо реализовать проверку типа элемента. Вносить его в список, только если
# введено число. Класс-исключение должен не позволить пользователю ввести текст (не число) и отобразить соответствующее
# сообщение. При этом работа скрипта не должна завершаться.


class ListIntException(Exception):
    def __init__(self, text):
        self.text = text


my_list = []
while True:
    input_value = input("Введите число для добавления в список (Для выхода из ПО введите 'stop'): ")
    if input_value.lower() == "stop":
        print(f"Итоговый список чисел: {my_list}")
        break

    try:
        if not input_value.isdigit():
            raise ListIntException("Введена строка, а не число. Элемент не добавлен в итоговый список.")

        my_list.append(int(input_value))
    except ListIntException as err:
        print(err)