Virheiden Python ja poikkeusten käsittely on olennainen osa ohjelmointiprosessia. Ohjelmaa suoritettaessa saattaa ilmetä odottamattomia virheitä ja poikkeuksia. Virheiden ja poikkeusten käsittely antaa ohjelman käsitellä ja raportoida nämä odottamattomat tilanteet joustavasti ja luettavalla tavalla.
Yleisten virheiden käsittely( Exception Handling)
Käytämme Python lohkoa try-except käsittelemään yleisiä virheitä. Rakenteen try-except avulla ohjelma voi suorittaa koodilohkon osiossa try, ja jos tässä lohkossa tapahtuu virhe, ohjelma siirtyy osaan except käsittelemään virhettä.
Esimerkki:
try:
# Attempt to perform an invalid division
result = 10 / 0
except ZeroDivisionError:
print("Error: Cannot divide by zero.")
Yleisten poikkeusten käsittely
Tiettyjen virhetyyppien käsittelyn lisäksi voimme käyttää myös except ilman tiettyä virhetyyppiä. Tämä auttaa käsittelemään yleisiä poikkeuksia, joita emme tiedä etukäteen.
Esimerkki:
try:
# Attempt to perform an invalid division
result = 10 / 0
except:
print("An error occurred.")
Useiden poikkeustyyppien käsittely
Voimme myös käsitellä useita erityyppisiä virheitä samassa try-except lohkossa käyttämällä useita except lausekkeita.
Esimerkki:
try:
# Attempt to open a non-existent file
file = open("myfile.txt", "r")
content = file.read()
except FileNotFoundError:
print("Error: File not found.")
except PermissionError:
print("Error: No permission to access the file.")
else ja lausekkeet finally _
- Lause
elsesallii koodilohkon suorittamisen, kun osassa ei ole virhettätry. - Lause
finallysallii koodilohkon suorittamisen sen jälkeen, kun sekä osattryettäexceptosat on suoritettu.
Esimerkki:
try:
num = int(input("Enter an integer: "))
except ValueError:
print("Error: Not an integer.")
else:
print("The number you entered is:", num)
finally:
print("Program ends.")
Virheiden ja poikkeusten käsittely Python tekee ohjelmasta kestävämmän ja lisää sen vakautta. Käsitellessämme virheitä oikein, voimme antaa asianmukaisia viestejä tai suorittaa toimintoja niiden mukaisesti odottamattomien tilanteiden sattuessa.

