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 Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com