Comment ignorer une exception et procéder en python


Meilleure réponse

Tout dabord, soyons clairs, ignorer les exceptions nest souvent pas la bonne chose à faire.

La manière classique de le faire est daccepter simplement lexception et de transmettre:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

>>> remover("non-existent file")

>>>

Vous pouvez également utiliser a contextlib.suppress () pour ignorer les exceptions:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

>>> remover("non-existent file")

>>>

En supposant que vous ne vous souciez pas vraiment de savoir si le fichier Vous essayez de supprimer existe ou non, quelque chose comme ce qui précède est très bien. Mais jai vu une tendance alarmante à 1) ignorer les exceptions qui comptent, ou 2) attraper plus dexceptions que vous ne le pensez réellement (masquant effectivement les bogues potentiels).

Réponse

Réussir

Non, je ne passe pas la question.

Essayez:

Quelque chose qui peut échouer

Sauf lexception spécifique:

Passer

Mais sil vous plaît, commentez pourquoi le passage est logique pour la prochaine personne qui lira votre code. Je fais cela parfois pour les fichiers et les choses qui peuvent manquer. Cependant, ne détectez pas toutes les erreurs, juste celle que vous vous attendez à voir se produire parfois.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *