Raise syntax error for mixing except and except* (#14895)

This PR adds a syntax error if the parser encounters a `TryStmt` that
has except clauses both with and without a star.

The displayed error points to each except clause that contradicts the
original except clause kind. So, for example,

```python
try:
    ....
except:     #<-- we assume this is the desired except kind
    ....
except*:    #<---  error will point here
    ....
except*:    #<--- and here
    ....
```

Closes #14860
This commit is contained in:
Dylan 2024-12-10 17:50:55 -06:00 committed by GitHub
parent d4126f6049
commit a3bb0cd5ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 301 additions and 4 deletions

View file

@ -0,0 +1,22 @@
try:
pass
except:
pass
except* ExceptionGroup:
pass
try:
pass
except* ExceptionGroup:
pass
except:
pass
try:
pass
except:
pass
except:
pass
except* ExceptionGroup:
pass
except* ExceptionGroup:
pass