Недавно я узнал, как создавать пользовательские исключения в Python и внедрять их в класс. Я пытаюсь добавить дополнительный аргумент в свое исключение для большей ясности и не могу заставить форматирование сделать правильно.Передача аргументов в настраиваемое исключение
Вот что я пытаюсь:
class NonIntError(Exception):
pass
class intlist(List):
def __init__(self, lst = []):
for item in lst:
#throws error if list contains something other that int
if type(item) != int:
raise NonIntError(item, 'not an int')
else:
self.append(item)
Ожидаемые результаты
il = intlist([1,2,3,'apple'])
>>> NonIntError: apple not an int
результатов с ошибкой
il = intlist([1,2,3,'apple'])
>>> NonIntError: ('apple', 'not an int')
Подтвердив мой вопрос, я хотел бы знать, как сделать мое исключение выглядят как ожидаемые результаты.