Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

E722: (bare excepts) too strict (reraise)

Abierto
#703 17 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
tooling

Línea de trabajo

Comienza en el punto de entrada E722 de pycodestyle y revisa cómo se gestiona actualmente el ejemplo de bare-except con un re-raise. Comprueba las pruebas de regresión relacionadas, resuelve después el comportamiento solicitado y añade cobertura que muestre cuándo se debe informar de E722 y cuándo no.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

How I read PEP-8, it doesn't outlaw bare excepts, but merely recommends to catch more specific exceptions when possible. But what if there is no particular exception you want to catch, but when you just want to do some cleanup before propagating any exception?

try:
    self.connection.send(...)
except:
    # We only close the connection on failure, otherwise we keep reusing it.
    self.connection.close()
    raise

Using try...finally isn't an option here, since we want to reuse the resource on success, and only clean up on failure. I could just explicitly catch BaseException instead, but there is no indication in PEP-8 that this is preferable (otherwise why would bare except be supported in the first place).

So how about suppressing E722 if there is a raise statement in the except block?

Lenguaje dominante
Python
Estrellas
5.2k
Forks
756
Merge medio
16 h 56 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PyCQA/pycodestyle

Todos los issues de PyCQA/pycodestyle

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.