Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Poikkeusten Sieppaaminen ja Käsittely | Comprehensive Error Handling
Pythonin Rakenteellinen Ohjelmointi

Poikkeusten Sieppaaminen ja Käsittely

Pyyhkäise näyttääksesi valikon

Kun työskentelet tiedostojen käsittelyn tai muun virhealttiin koodin parissa, Pythonin rakenteellinen virheenkäsittely try-, except-, else- ja finally-lohkojen avulla on olennaista vikasietoisille ohjelmille. try-lohko sisältää koodia, joka saattaa aiheuttaa poikkeuksen. Jos poikkeus tapahtuu, suoritetaan except-lohko, jolloin virhe voidaan käsitellä hallitusti. Jos poikkeusta ei synny, suoritetaan else-lohko, mikä tekee siitä sopivan paikan koodille, jonka tulee suorittua vain, jos kaikki try-lohkossa onnistuu. finally-lohko suoritetaan aina, riippumatta siitä tapahtuiko poikkeus vai ei, joten se soveltuu esimerkiksi tiedostojen sulkemiseen tai resurssien vapauttamiseen. Kuten videolla nähtiin, tämä rakenne auttaa erottamaan normaalin logiikan, virheenkäsittelyn ja siivoustoimet, mikä johtaa selkeämpään ja turvallisempaan koodiin.

Pythonin virheenkäsittelylohkot

  • try-lohko sisältää koodia, joka saattaa aiheuttaa poikkeuksen;
  • except-lohko ottaa kiinni ja käsittelee poikkeukset, jos niitä ilmenee;
  • else-lohko suoritetaan vain, jos try-lohkossa ei synny poikkeusta;
  • finally-lohko suoritetaan aina, riippumatta siitä tapahtuiko poikkeus vai ei.
123456789101112131415
filename = "example.txt" try: file = open(filename, "w") file.write("Hello, Python error handling!") except OSError as e: print("An error occurred while writing to the file:", e) else: print("File written successfully.") finally: try: file.close() print("File closed.") except Exception: print("File was never opened or already closed.")

Tämä rakenne mahdollistaa normaalin logiikan, virheenkäsittelyn ja siivoustehtävien erottamisen. Käytä try-lohkoa riskialttiille koodille, except-lohkoa virheiden hallintaan, else-lohkoa onnistuneille suorituksille ja finally-lohkoa toiminnoille, jotka tulee suorittaa aina, kuten tiedostojen sulkeminen tai resurssien vapauttaminen.

question mark

Mikä väite kuvaa parhaiten else- ja finally-lohkojen suoritusjärjestystä try, except, else, finally -rakenteessa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 2
some-alt