On Sun, Oct 11, 2020 at 01:04:46PM -0400, Wes Turner wrote:

> (I must have missed the 'try' suffix)

Indeed. And this is, in my opinion, a major problem with the suggestion. 
It obfuscates the code, hiding the fact that a new try block has been 
started.

To be fair to the proposal, it does save a line and an indent level; 
saving lines is not much gain, since lines are cheap, but saving an 
indent is a small gain, since horizontal space is at a premium. So the 
proposal does have a small gain. A very small one.

But the cost is to decrease readability and increase the likelihood of 
misreading the code, as Wes did.

The analogy with `elif` is not a good one. `elif` is a distinct keyword, 
and it is at the start of the line:

    if condition
    elif condition

whereas this proposal for an "excepttry" cuts the keyword in half, 
sticking a condition (the exception to catch) in between:

    try: ...
    except Exception try:

We don't spell `elif` like this:

    if condition:
    else condition if:

but that's what this proposal suggests for "excepttry".

Another problem is the potential ambiguity:

    # Version 1
    try: 
        ...
    except A:
        try:
            ...
        except B:
            ...
        except C:
            ...


    # Version 2
    try: 
        ...
    except A:
        try:
            ...
        except B:
            ...
    except C:
        ...


Using the proposed syntax, both of these would be written as:

    try:
        ...
    except A try:
        ...
    except B:
        ...
    except C:
        ...

with no way of telling whether the "except B" goes with the outer try or 
the inner try.


-- 
Steve
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/DLQ3GHPD5FNPFMZEKHVLHZFVDFMCTGOC/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to