[Python-Dev] Switch statement
Delaney, Timothy (Tim)
tdelaney at avaya.com
Mon Jun 19 23:40:10 CEST 2006
Guido van Rossum wrote:
> I wonder if there should be two default clauses, or some other
> syntactic way to indicate whether we expect all x to be hashable?
switch expr:
case 1:
statements
case 2:
statements
else:
statements
except KeyError:
statements
finally:
statements
switch expr:
case 1:
statements
case 2:
statements
else:
statements
except KeyError:
statements
finally:
statements
:)
Seriously, I think I'd rather be explicit and just have KeyError
propagate. If someone is expecting occasional unhashable values, they
can just wrap it in try/except.
try:
switch expr:
case 1:
statements
case 2:
statements
else:
statements
except KeyError:
statements
finally:
statements
The first syntax though does have the advantage that it could catch only
KeyErrors raised from the switch statement. That could be easily handled
by a separate SwitchKeyError exception (inheriting from KeyError).
Tim Delaney
More information about the Python-Dev
mailing list