Bedste svar
Lad os først være klar over, at ignorering af undtagelser ofte ikke er den rigtige ting at gøre.
Den klassiske måde at gøre det på er at acceptere undtagelsen og videregive:
>>> def remover(filename):
... import os
... try:
... os.remove(filename)
... except FileNotFoundError:
... pass
...
>>> remover("non-existent file")
>>>
Du kan også bruge a contextlib.suppress () for at ignorere undtagelser:
>>> def remover(filename):
... import os
... import contextlib
... with contextlib.suppress(FileNotFoundError):
... os.remove(filename)
...
>>> remover("non-existent file")
>>>
Forudsat at du ikke er ligeglad med, om filen y I prøver på at fjerne eksisterer eller ej, noget som det ovenstående er fint. Men jeg har set en alarmerende tendens til at enten 1) ignorere undtagelser, der betyder noget, eller 2) fange flere undtagelser, end du faktisk forventer (effektivt skjule potentielle fejl).
Svar
Pass
Nej ved ikke spørgsmålet.
Prøv:
Noget, der muligvis mislykkes
Undtagen den specifikke undtagelse:
Pass
Men bedes du kommentere hvorfor pass giver mening for den næste person at læse din kode. Jeg gør det nogle gange for filer og ting, der muligvis mangler. Fang dog ikke alle fejl, bare den, du forventer at nogle gange vil ske.