[Tutor] Try except really better than if?
Karim
karim.liateni at free.fr
Mon Jan 10 11:14:20 CET 2011
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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110110/c59e8dfc/attachment-0001.html>
More information about the Tutor
mailing list