# 3. Создайте собственный класс-исключение, который должен проверять содержимое списка на наличие только чисел.
# Проверить работу исключения на реальном примере.
# Необходимо запрашивать у пользователя данные и заполнять список только числами.
# Класс-исключение должен контролировать типы данных элементов списка.
#   Примечание: длина списка не фиксирована.
# Элементы запрашиваются бесконечно, пока пользователь сам не остановит работу скрипта, введя, например, команду “stop”.
# При этом скрипт завершается, сформированный список с числами выводится на экран.
#   Подсказка: для данного задания примем, что пользователь может вводить только числа и строки.
# При вводе пользователем очередного элемента необходимо реализовать проверку типа элемента и вносить его в список,
# только если введено число.
# Класс-исключение должен не позволить пользователю ввести текст (не число) и отобразить соответствующее сообщение.
# При этом работа скрипта не должна завершаться.
class Error:
    def __init__(self, *args):
        self.my_list = []

    def mylist(self):
        while True:
            try:
                val = int(input('Введите значения: '))
                self.my_list.append(val)
                print(f'Текущий список: {self.my_list} \n ')
            except:
                print(f"Вы ввели не число!")
                stop = input(f'Попробовать еще раз? "Q" для выхода из программы, введите любой символ, чтобы продолжить.')

                if stop == 'Q':
                    return f'Вы вышли'
                else:
                    print(try_except.mylist())


try_except = Error(1)
print(try_except.mylist())