Poikkeusten tehokas käsittely on tärkeää luotettavien Python-ohjelmien kirjoittamisessa. Oikea poikkeushallinta auttaa estämään kaatumisia ja varmistaa, että ohjelma voi palauttaa tai antaa mielekästä palautetta, kun virheitä tapahtuu.

Python-poikkeusten ymmärtäminen

Poikkeuksia ovat virheet, jotka häiritsevät ohjelman normaalia virtausta. Python on sisäänrakennettu poikkeusluokat, kuten [ValueError ja TypeError[], jotka otetaan esille, kun tiettyjä asioita esiintyy. Näiden poikkeusten tunnistaminen mahdollistaa kehittäjien käsitellä virheitä hienovaraisesti.

Kokeile vain lohkoja

Pythonin tapauksessa poikkeusten ensisijainen käsittelymenetelmä on []try-spot[-lohko. Koodi, joka saattaa aiheuttaa poikkeuksen, sijoitetaan -blokin sisään [-lohkoon, kun taas virheenkäsittelykoodi sijoitetaan []-lohkon sisään.

Esimerkki:

try:[
x = int(input("Anna numero: ")
], paitsi ArvoError:[] [[
] tulosta]""Vähän syöte. Anna kelvollinen numero.")

Käsittely Useita poikkeuksia

Useita poikkeuksia voidaan hallita lisäämällä useita [ lukuun ottamatta[ lohkoja. Tämä mahdollistaa erityisvastaukset eri virhetyyppeihin.

Esimerkki:

]yritys:[
tulos = 10 / jakaja
[ lukuun ottamatta ZeroDivisionError:[[]] tulosta][
] tulosta]"ei voida jakaa nollalla.") [
[] paitsi tyyppiError:[] [[ tulostaa("Velkatyyppinen ei ole saatavilla.")

Käyttää vihdoin ja muuten

-lohko suorittaa koodin lopulta[ riippumatta siitä, onko poikkeus tapahtunut. else[-lohko toimii, jos poikkeusta ei esitetä.

Esimerkki:

]try:[[] [
tiedosto = open("data.txt," "r") [
[ paitsi FileNotFoundError:[] [[
] tulosta]]"tiedostoa ei löydy.") [[
] [[] exece:[[] [[[ tulosta]]] ["Tieto onnistuneesti avattu."] [[
[[]]] tiedosto.

Parhaat käytännöt poikkeuksen käsittelyä varten

  • Saaliskohtaiset poikkeukset yleisen käytön sijaan lukuun ottamatta:.
  • Vältä poikkeuksia kontrollivirtaukseen.
  • Lokipoikkeukset vianetsintätarkoituksia varten.
  • Käytä lopulta vapauttaa resursseja.