Beste antwoord
Laten we eerst duidelijk zijn dat het negeren van uitzonderingen vaak niet de juiste keuze is.
De klassieke manier om dit te doen is door de uitzondering te accepteren en door te geven:
>>> def remover(filename):
... import os
... try:
... os.remove(filename)
... except FileNotFoundError:
... pass
...
>>> remover("non-existent file")
>>>
Je kunt ook een contextlib.suppress () om uitzonderingen te negeren:
>>> def remover(filename):
... import os
... import contextlib
... with contextlib.suppress(FileNotFoundError):
... os.remove(filename)
...
>>> remover("non-existent file")
>>>
Ervan uitgaande dat het u niet echt kan schelen of het bestand y u probeert bestaande te verwijderen of niet, zoiets als het bovenstaande is prima. Maar ik heb een alarmerende neiging gezien om ofwel 1) uitzonderingen te negeren die ertoe doen, of 2) meer uitzonderingen op te vangen dan je eigenlijk verwacht (potentiële bugs effectief verbergen).
Antwoord
Geslaagd
Ga niet voorbij aan de vraag.
Probeer:
Iets dat kan mislukken
Behalve de specifieke uitzondering:
Pass
Maar geef alsjeblieft aan waarom pass zinvol is voor de volgende persoon om je code te lezen. Ik doe dit soms voor bestanden en dingen die mogelijk ontbreken. Vang echter niet elke fout op, alleen degene waarvan u verwacht dat deze soms voorkomt.