[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