[python] nevznik objektu
David Rohleder
davro na ics.muni.cz
Čtvrtek Březen 18 17:41:42 CET 2010
Ahoj,
je možné, aby nevznikl objekt, který zrovna vytvářím? Příklad - mám
třídu typu IP adresa, v konstruktoru předávám řetězec IPadresy. Chtěl
bych, aby v případě, že IP adresa není validní, objekt vůbec nevznikl.
Tj. aby konstruktor vrátil None:
>>> ipaddr = IP("192.1023.neco.1")
>>> ipaddr
None
chtěl jsem pak třeba udělat:
if not ipaddr:
print "zadavas blby vstup"
chtěl jsem to vyřešit asi takto:
class IP(object):
def __init__(self, IPadresa):
.....
if chyba: return None
Jenomže konstruktor vrací vždycky None, tj. touto cestou to nejde.
Zatím jediné, co mne napadlo, je vyřešit to pomocí výjimky, tj.např
try:
ipaddr = IP("192.168.34536.45")
except ValueError:
ipaddr = None
Ale myslím, že kdyby objekt vůbec nevznikl, tak by to bylo lepší. Jde
to, nebo to nejde?
D.
--
David Rohleder <davro na ics.muni.cz>
Další informace o konferenci Python