Table of Contents
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.