alexmojaki / alexmojaki/executing
Finer-grained errors, ala PEP 657?
- Lingua principale
- Python
- Stelle
- 401
- Fork
- 38
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
[PEP 657](https://peps.python.org/pep-0657/) added "fine-grained errors" which are similar to executing's AST-level `text_range`. But the default python traceback printing goes further, employing _two_ types of error markers, `^` and `~`. The latter is a "secondary" marker used for further detailed refinement for exceptions involving binary and indexing operators. Example:
File fge.py
```python
x={}; x['a']={}; x['a']['b'] = None
x['a']['b']['c']['d'] = 1
```
Produces:
```python
% python3.12 fge.py
Traceback (most recent call last):
File "/Users/jdsmith/code/python/scraps/fge.py", line 2, in
x['a']['b']['c']['d'] = 1
~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
```
while executing (here in iPython), shows:
One way to support this secondary refinement in a backwards-compatible way would be with an additional method `text_range_secondary` that computes the sub-region within `text_range` (if any) that could be highlighted distinctly.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.