Come ignorare uneccezione e procedere in python


Migliore risposta

Prima di tutto, chiariamo che ignorare le eccezioni spesso non è la cosa giusta da fare.

Il modo classico per farlo è semplicemente accettare leccezione e passare:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

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

>>>

Puoi anche utilizzare a contextlib.suppress () per ignorare le eccezioni:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

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

>>>

Supponendo che non ti interessi davvero se il file y Se stai cercando di rimuovere esiste o no, qualcosa di simile a quanto sopra va bene. Ma ho notato una tendenza allarmante a 1) ignorare le eccezioni che contano o 2) individuare più eccezioni di quanto effettivamente ti aspetti (nascondendo efficacemente potenziali bug).

Rispondi

Passa

No, non passare la domanda.

Prova:

Qualcosa che potrebbe non riuscire

Tranne leccezione specifica:

Pass

Ma per favore commenta perché ha senso passare per la prossima persona a leggere il tuo codice. A volte lo faccio per file e cose che potrebbero mancare. Tuttavia, non rilevare tutti gli errori, solo quello che ti aspetti che accada a volte.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *