class MissingnumError (CheckError):
def __init__(self, num, type = "Animal"):
self.num = num
self.type = type
def __str__(self):
forma = '%s #%d not found'%(self.type,self.num)
return forma
def __repr__(self):
return str(self)
Если я хочу получить доступ к этой ошибке и поднять ее из другого класса, как это сделать? Скажем, я определяю некоторые функции внутри другого класса, я буду зацикливаться над списком животных, но если животное не будет найдено, мне нужно будет поднять вышеуказанную ошибку. Как мне получить доступ к нему и получить его для печати str: forma ???Raising Определенная вручную ошибка с классом
пример:
def myfnction(self, animal):
for something in listofthings:
if something == animal:
return something
raise MissingnumError
Как поднять эту ошибку правильно, через доступ к классом выше и печать ул ???
Ошибка требует некоторого номера ошибки. Предположим, что его 10, затем 'поднять MissingnumError (10)'. – tdelaney
Что такое 'CheckError', из которого вы наследуете? Является ли это подклассом «Исключение»? Вы можете проверить этот путь: 'issubclass (CheckError, Exception)'. –
'raise MissingnumError (1)' или что-то вроде 'num'. (Кстати, если 'num' отсутствует,' MissingnumError', вероятно, должен * not * иметь атрибут 'num', или имя исключения является неправильным.) – Evert