Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Refactor exception handling in `Site.render`

Aberta
#1,295 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
70/100
Tipo de issue
Refatoração
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
backend

Direção de pesquisa

Start at the Site.render entry point and trace how exceptions are collected and how output is written. Replace the aggregation metadata with Exception.add_note() and write the error output to Site.output / 'error.log'; done means no temporary error file is left for the user to clean up.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Djangonauts

Currently Site.render aggregates all of the exceptions into a list with some additional metadata to be processed. That metadata should be added to the exceptions using Exception.add_note():

>>> try:
...     raise RuntimeError("This is a test...")
... except RuntimeError as e:
...     e.add_note("Will this appear?")
...     raise e from None
...
Traceback (most recent call last):
  File "<python-input-89>", line 5, in <module>
    raise e from None
  File "<python-input-89>", line 2, in <module>
    raise RuntimeError("This is a test...")
RuntimeError: This is a test...
Will this appear?

In addition, the output is currently being written to a temp file that is not getting cleaned up. We should modify that to write to `Site.output / 'error.log`` to avoid leaving temp files around for the user to clean up.

Linguagem predominante
Python
Estrelas
64
Forks
46
Merge médio
1d 16h
PRs com merge (30d)
18

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de render-engine/render-engine

Todas as issues de render-engine/render-engine

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.