tarfile.TarFile.next() adds an unnecessary traceback frame when reraising exceptions
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
description:
https://gist.github.com/devdanzin/f8af359770ff200eac8474de5644be82
tarfile.TarFile.next() currently reraises non-zlib exceptions with raise e
inside its generic exception handler:
except Exception as e:
try:
import zlib
if isinstance(e, zlib.error):
raise ReadError(f'zlib error: {e}') from None
else:
raise e
except ImportError:
raise e
Using raise e adds an extra traceback frame at the re-raise site. A bare
raise would keep the traceback cleaner while preserving the original exception
and its traceback.
CPython versions tested on:
3.14, CPython main branch
Operating systems tested on:
Windows
Linked PRs
- gh-149761
- gh-157257
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Procure no módulo tarfile por TarFile.next() e inspecione o manipulador genérico de exceções mostrado no issue. Confirme a diferença no traceback descrita no gist vinculado e, depois da alteração no tratamento de exceções, execute os testes de tarfile para verificar se as exceções que não são de zlib mantêm seu traceback original e se os erros de zlib permanecem inalterados.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- backend
- Tipo de issue
- Bug
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 35/100