[Python-Dev] Chaining try statements: eltry? (original) (raw)
Raymond Hettinger python at rcn.com
Wed Jul 6 22:06:06 CEST 2005
- Previous message: [Python-Dev] Chaining try statements: eltry?
- Next message: [Python-Dev] Chaining try statements: eltry?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Thomas Lotze]
> I want to ask what you think about introducing a keyword 'eltry' > which would be the counterpart of 'elif' for try statements. This > had been suggested before on python-list a couple of years ago by > Jonathan Gardner, but nothing (that I could find) seems to have come
> of it.
[Guido]
I'm -1 on this. The use case doesn't occur often in my experience and IMO putting each try statement in the else clause of the previous one is a fine solution.
I also notice that your only example is very repetitive, and would be better written as a loop, using Python's dynamic nature: for decoder in foodecode, bardecode, foobardecode: try: data = decoder(data) break except ValueError: print "data doesn't seem to be %s-encoded" % decoder.name
FWIW, the looping solution has worked out well in practice. From csv.py:
for thisType in [int, long, float, complex]:
try:
thisType(row[col])
break
except (ValueError, OverflowError):
pass
Raymond
- Previous message: [Python-Dev] Chaining try statements: eltry?
- Next message: [Python-Dev] Chaining try statements: eltry?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]