Greg Ewing wrote:
Steven D'Aprano wrote:
Others have suggested that the colon should be dropped. I dislike that idea, because there's nothing but whitespace delimiting the list of exceptions from the except-expression:
EXPR except EXCEPT-LIST EXCEPT-EXPR
I agree. Even if it can be parsed unambiguously, it's going to seem weird and confusing to a human.
So far I haven't seen anything I like better than
<expr> except <value> if <exception>
despite the fact that it uses the words 'except' and 'if' in a different way than elsewhere.
Possibly the only way to do this within those constraints is a purely syntactic. value = (expr1 :exception: expr2) Sense most people (and editors) recognize exceptions names easily, there really isn't a strong need to use the key word "except" in an expression like this. The colons in this case can be considered to be similar to slice syntax. And if the colons are still considered bad, possibly some other symbol could be used. Ron