Poikkeukset ja virheenkorjaus
Ohjelmoinnissa virheet ovat väistämättömiä. Osa johtuu loogisista virheistä, toiset ilmenevät suorituksen aikana — kuten nollalla jakaminen, puuttuvan tiedoston avaaminen tai virheellisen syötteen muuntaminen.
Näitä suorituksen aikaisia virheitä kutsutaan poikkeuksiksi.
Python käsittelee niitä try- ja except-lohkoilla, jolloin ohjelma voi palautua tai näyttää selkeän viestin kaatumisen sijaan.
Mikä on poikkeus?
Poikkeus on Pythonin merkki siitä, että tapahtui jotain odottamatonta. Se pysäyttää normaalin suorituksen ja näyttää jäljityksen, ellei sitä käsitellä.
Yleisiä esimerkkejä:
ZeroDivisionError: nollalla jakaminen;ValueError: virheellinen arvo, kuten"abc"kokonaisluvuksi;TypeError: yhteensopimattomat tyypit, esim. numero + merkkijono;FileNotFoundError: puuttuvan tiedoston avaaminen;IndexError: listan indeksi alueen ulkopuolella;KeyError: puuttuva sanakirjan avain.
Poikkeukset ovat sisäänrakennettuja luokkia ja ne voidaan käsitellä except-lauseella.
Poikkeusten käsittely try- ja except-lauseilla
Riskialtis koodi kannattaa sijoittaa try-lohkoon kaatumisen estämiseksi.
Jos virhe ilmenee, Python siirtyy except-lohkoon.
Siellä voidaan näyttää viesti, kirjata tiedot tai suorittaa vaihtoehtoinen toiminto.
Useita Except-lohkoja ja Yleinen Virheenkäsittely
Voit käsitellä tiettyjä virheitä erillisillä except-lohkoilla,
tai käyttää yleistä except-lohkoa odottamattomien virheiden käsittelyyn.
Useita poikkeustyyppejä voidaan myös ryhmitellä yhteen lohkoon käyttämällä sulkuja.
Else- ja Finally-lauseet
Pythonin virheenkäsittelyyn voidaan sisällyttää myös else ja finally:
elsesuoritetaan vain, jos poikkeusta ei ilmennyt;finallysuoritetaan aina — myös poikkeuksen sattuessa.
finally-lohkoa käytetään usein tiedostojen sulkemiseen tai resurssien vapauttamiseen.
Virheiden etsintä print-komennolla
Virheiden etsintä auttaa selvittämään, missä ongelma tapahtui.
Yksinkertainen tapa on lisätä print()-komentoja seuraamaan muuttujien arvoja ja ohjelman kulkua.
Tämä osoittaa, missä virheet ilmenevät ja auttaa rajaamaan ongelmia.
Myöhemmin voidaan käyttää kehittyneempiä virheenkorjaustyökaluja, mutta print on aina hyödyllinen ensivaiheessa.
Yhteenveto
- Poikkeukset ovat ajoaikaisia virheitä, kuten nollalla jako tai puuttuvat tiedostot;
- Niitä voidaan käsitellä
try- jaexcept-lohkoilla ohjelman kaatumisen estämiseksi; - Käytä mahdollisuuksien mukaan tarkkoja poikkeustyyppejä ja
finally-lohkoa resurssien vapauttamiseen. print()on ensisijainen ja nopein debuggaustyökalu.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
What are some common exceptions in Python?
Can you explain what happens if an exception is not handled?
How do you identify where an exception occurred in your code?
Awesome!
Completion rate improved to 5
Poikkeukset ja virheenkorjaus
Pyyhkäise näyttääksesi valikon
Ohjelmoinnissa virheet ovat väistämättömiä. Osa johtuu loogisista virheistä, toiset ilmenevät suorituksen aikana — kuten nollalla jakaminen, puuttuvan tiedoston avaaminen tai virheellisen syötteen muuntaminen.
Näitä suorituksen aikaisia virheitä kutsutaan poikkeuksiksi.
Python käsittelee niitä try- ja except-lohkoilla, jolloin ohjelma voi palautua tai näyttää selkeän viestin kaatumisen sijaan.
Mikä on poikkeus?
Poikkeus on Pythonin merkki siitä, että tapahtui jotain odottamatonta. Se pysäyttää normaalin suorituksen ja näyttää jäljityksen, ellei sitä käsitellä.
Yleisiä esimerkkejä:
ZeroDivisionError: nollalla jakaminen;ValueError: virheellinen arvo, kuten"abc"kokonaisluvuksi;TypeError: yhteensopimattomat tyypit, esim. numero + merkkijono;FileNotFoundError: puuttuvan tiedoston avaaminen;IndexError: listan indeksi alueen ulkopuolella;KeyError: puuttuva sanakirjan avain.
Poikkeukset ovat sisäänrakennettuja luokkia ja ne voidaan käsitellä except-lauseella.
Poikkeusten käsittely try- ja except-lauseilla
Riskialtis koodi kannattaa sijoittaa try-lohkoon kaatumisen estämiseksi.
Jos virhe ilmenee, Python siirtyy except-lohkoon.
Siellä voidaan näyttää viesti, kirjata tiedot tai suorittaa vaihtoehtoinen toiminto.
Useita Except-lohkoja ja Yleinen Virheenkäsittely
Voit käsitellä tiettyjä virheitä erillisillä except-lohkoilla,
tai käyttää yleistä except-lohkoa odottamattomien virheiden käsittelyyn.
Useita poikkeustyyppejä voidaan myös ryhmitellä yhteen lohkoon käyttämällä sulkuja.
Else- ja Finally-lauseet
Pythonin virheenkäsittelyyn voidaan sisällyttää myös else ja finally:
elsesuoritetaan vain, jos poikkeusta ei ilmennyt;finallysuoritetaan aina — myös poikkeuksen sattuessa.
finally-lohkoa käytetään usein tiedostojen sulkemiseen tai resurssien vapauttamiseen.
Virheiden etsintä print-komennolla
Virheiden etsintä auttaa selvittämään, missä ongelma tapahtui.
Yksinkertainen tapa on lisätä print()-komentoja seuraamaan muuttujien arvoja ja ohjelman kulkua.
Tämä osoittaa, missä virheet ilmenevät ja auttaa rajaamaan ongelmia.
Myöhemmin voidaan käyttää kehittyneempiä virheenkorjaustyökaluja, mutta print on aina hyödyllinen ensivaiheessa.
Yhteenveto
- Poikkeukset ovat ajoaikaisia virheitä, kuten nollalla jako tai puuttuvat tiedostot;
- Niitä voidaan käsitellä
try- jaexcept-lohkoilla ohjelman kaatumisen estämiseksi; - Käytä mahdollisuuksien mukaan tarkkoja poikkeustyyppejä ja
finally-lohkoa resurssien vapauttamiseen. print()on ensisijainen ja nopein debuggaustyökalu.
Kiitos palautteestasi!