Jean-Michel Pichavant wrote: > Martin De Kauwe wrote: > Don't check for bounds, fix any bug in the code that would set your > values out of bounds and use asserts while debugging. [ ... ] > def __setattr__(self, attribute, value): > if not self.funcTable.get(attribute, lambda x: True)(value): > sys.exit('error out of bound') > return object.__setattr(self, attribute, value)
Offhand, my only quibble is that sys.exit is not helpful for debugging. Much better to raise an error: if not self.funcTable.get(attribute, lambda x: True)(value): raise ValueError ('error out of bound') or define a subclass of ValueError just for this purpose. On error, the program will stop just as dead, but you'll get a trace. Mel. -- http://mail.python.org/mailman/listinfo/python-list