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
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com