alexmojaki / alexmojaki/executing
Finer-grained errors, ala PEP 657?
- Lenguaje dominante
- Python
- Estrellas
- 401
- Forks
- 38
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
[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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.