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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/DLQ3GHPD5FNPFMZEKHVLHZFVDFMCTGOC/
Code of Conduct: http://python.org/psf/codeofconduct/