Jak ignorovat výjimku a postupovat v pythonu


Nejlepší odpověď

Nejprve si ujasněte, že ignorování výjimek často není správná věc.

Klasický způsob, jak to udělat, je jednoduše přijmout výjimku a předat:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

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

>>>

Můžete také použít a contextlib.suppress () ignorovat výjimky:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

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

>>>

Za předpokladu, že vám je úplně jedno, zda soubor y ou se snažíte odstranit existuje nebo ne, něco jako výše je v pořádku. Ale viděl jsem alarmující tendenci buď 1) ignorovat výjimky, na kterých záleží, nebo 2) chytit více výjimek, než ve skutečnosti očekáváte (účinně skrývat potenciální chyby).

Odpovědět

Pass

Ne, neodpovídejte na otázku.

Zkuste:

Něco, co může selhat

Až na konkrétní výjimku:

Pass

Ale prosím, komentujte, proč má pass smysl, aby si váš kód přečetla další osoba. Dělám to někdy pro soubory a věci, které mohou chybět. Nezachyťte však každou chybu, pouze tu, u které očekáváte, že se někdy stane.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *