E722: (bare excepts) too strict (reraise)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par le point d’entrée E722 dans pycodestyle et examinez la manière dont l’exemple de bare-except avec un re-raise est actuellement traité. Vérifiez les tests de régression associés, corrigez ensuite le comportement demandé et ajoutez une couverture montrant dans quels cas E722 doit ou non être signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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?
- Langage dominant
- Python
- Étoiles
- 5.2k
- Forks
- 762
- Merge moyen
- 8 h 11 min
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de PyCQA/pycodestyle
-
DOC: E252 is not documentedOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
PyCQA/pycodestyle#1294 · 1 commentaire ·
-
Typing and formattingOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
PyCQA/pycodestyle#1302 · 3 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
PyCQA/pycodestyle#1242 · 2 commentaires ·
-
Spurious E231 for nested format substitutionsPeut-être à nouveau libre @inchang-ing l’a pris il y a 8 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
PyCQA/pycodestyle#1241 · 3 commentaires · 4 réactions ·
-
`exclude` is applied to `.`Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
PyCQA/pycodestyle#1217 ·
Toutes les issues de PyCQA/pycodestyle
Issues similaires
-
Admin member of a research group cannot see the HX2 allocation until they've been added to itOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
developmentseed/titiler-cmr#278 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours