Kuinka ohittaa poikkeus ja edetä pythonissa


Paras vastaus

Ensinnäkin, selvennetään, että poikkeusten ohittaminen ei usein ole oikea asia.

Klassinen tapa tehdä se on vain hyväksyä poikkeus ja siirtää:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

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

>>>

Voit käyttää myös a contextlib.suppress () ohittaaksesi poikkeukset:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

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

>>>

Oletetaan, että et todellakaan välitä, onko tiedosto y yrität poistaa olemassa tai ei, jotain edellä mainituista on hieno. Mutta olen nähnyt hälyttävän taipumuksen joko 1) jättää tärkeät poikkeukset huomiotta tai 2) saada enemmän poikkeuksia kuin odotat (piilottaa tehokkaasti mahdolliset virheet).

Vastaa

Hyväksy

Ei ei välitä kysymystä.

Yritä:

Jotain, mikä saattaa epäonnistua

Paitsi tiettyä poikkeusta:

Pass

Mutta kommentoi, miksi passilla on järkeä, kun seuraava henkilö lukee koodisi. Teen tämän joskus puuttuville tiedostoille ja muille. Älä kuitenkaan huomaa jokaista virhettä, vain sitä, jonka odotat joskus tapahtuvan.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *