Supprimer l'instance créée à l'init c'est possible ?
Bonjour,
Sur une classe je fais un contrôle d'arguments, et je voudrais que l'instance ne soit pas créée si les tests sur les arguments ne sont pas réussis.
Je voudrais en plus ne pas passer par des décorateurs (python 2.3).
J'imaginais un truc du genre :
Code:
1 2 3 4 5 6 7 8 9 10
|
class A():
def __init__(self, arg1, arg2):
try:
assert test1()
assert test2()
etc...
except AssertionError:
print "les arguments ne sont pas corrects"
del self |
Mais tout ce que fait le "del self" est d'enlever self de l'espace de noms à l'intérieur de la classe apparemment.
Moi ce que je voudrais c'est si un argument ne passe pas les test, obtenir :
Code:
1 2 3 4 5
|
>>> a = A(arg1, arg2)
les arguments ne sont pas corrects
>>> a
NameError exception bla bla bla... |
Est-ce possible ? Vous avec des idées ??
Merci d'avance.