Thanks Alan this reassures me!
Regards Karim On 01/10/2011 10:39 AM, ALAN GAULD wrote:
By the way I have this piece of code using elementTree standard module and according to Alan this is bad code I guess: Which just proves there are no absolute rules in programming :-) *try: devdb.setDescription(dev.attrib['description']) except KeyError: pass try: devdb.setSymbolName(dev.attrib['symbolName']) except KeyError: pass try: devdb.setSymbolPinOrderMappingList(dev.attrib['symbolPinOrderMappingList']) except KeyError: pass try: devdb.setLayoutName(dev.attrib['layoutName']) except KeyError: pass try: devdb.setLayoutType(dev.attrib['layoutType']) except KeyError: pass * Since you just use pass to ignore the error then you are kind of forced to do it this way. Its not bad each statement has to be treated individually, it is not a block where all the statements must pass or fail as a unit. > Do you have an alternative or my way is ok? This would also be a valid case for an if/else check but in readability terms I think try/except still wins because the handler is only a pass. If it were more complex I'd probably opt for if/else. I know there is no special case which is enough special to break the rule ;o) I'm not sure I agree. In programming you can usually find a special case that validly breaks any "rule"! Even "Don't use goto!" :-) HTH, Alan G.
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor