[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