Cum să ignorați o excepție și să procedați în python


Cel mai bun răspuns

În primul rând, să fim clari că ignorarea excepțiilor nu este adesea un lucru corect.

Modul clasic de a face acest lucru este acceptarea excepției și trecerea:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

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

>>>

Puteți utiliza și a contextlib.suppress () pentru a ignora excepțiile:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

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

>>>

Presupunând că nu vă pasă dacă fișierul y încercați să eliminați există sau nu, ceva de genul de mai sus este în regulă. Dar am văzut o tendință alarmantă fie de a 1) ignora excepțiile care contează, fie de a 2) prinde mai multe excepții decât vă așteptați efectiv (ascunzând efectiv potențialele erori).

Răspuns

Treceți

Nu nu treceți întrebarea.

Încercați:

Ceva care poate eșua

Cu excepția excepției specifice:

Pass

Dar vă rugăm să comentați de ce pasul are sens ca următoarea persoană să vă citească codul. Fac asta uneori pentru fișiere și lucruri care pot lipsi. Nu rețineți însă fiecare eroare, doar cea pe care vă așteptați să o întâmpine uneori.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *