Quelle (s) méthode (s) spéciale (s) devrais-je redéfinir dans ma classe afin qu'elle traite les exceptions AttributeError
et renvoie une valeur spéciale dans ces cas?Quelle méthode spéciale dans Python gère AttributeError?
Par exemple,
>>> class MySpecialObject(AttributeErrorHandlingClass):
a = 5
b = 9
pass
>>>
>>> obj = MySpecialObject()
>>>
>>> obj.nonexistent
'special value'
>>> obj.a
5
>>> obj.b
9
Je googlé pour la réponse, mais n'a pas pu le trouver.
Notez que 'pass' ici est inutile. –
Les attributs 'a' et' b' sont des attributs de classe auxquels vous accédez sur l'instance 'obj'. Il n'y a rien de mal à cela, mais c'est inhabituel. Comprenez-vous comment définir les attributs d'instance? –
@voyager, Dans votre édition, vous avez inventé 'AttributeErrorHandlingClass' comme mécanisme d'acquisition des valeurs d'attribut de secours. Ce n'est probablement pas la bonne façon d'obtenir ce comportement dans une classe particulière. –