Bästa svaret
Först och främst, låt oss vara tydliga att ignorera undantag ofta inte är rätt sak att göra.
Det klassiska sättet att göra det är att bara acceptera undantaget och skicka:
>>> def remover(filename):
... import os
... try:
... os.remove(filename)
... except FileNotFoundError:
... pass
...
>>> remover("non-existent file")
>>>
Du kan också använda a contextlib.suppress () för att ignorera undantag:
>>> def remover(filename):
... import os
... import contextlib
... with contextlib.suppress(FileNotFoundError):
... os.remove(filename)
...
>>> remover("non-existent file")
>>>
Om du antar att du inte bryr dig om filen y du försöker ta bort existerar eller inte, något liknande ovan är bra. Men jag har sett en alarmerande tendens att antingen 1) ignorera undantag som betyder något, eller 2) fånga fler undantag än vad du faktiskt förväntar dig (effektivt dölja potentiella buggar).
Svar
Godkännande
Nej, skicka inte frågan.
Försök:
Något som kan misslyckas
Förutom det specifika undantaget:
Godkänn
Men kommentera varför pass är vettigt för nästa person att läsa din kod. Jag gör det ibland för filer och saker som kan saknas. Fånga dock inte alla fel, bara den du förväntar dig att ibland ska hända.