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
else
sallii koodilohkon suorittamisen, kun osassa ei ole virhettätry
. - Lause
finally
sallii koodilohkon suorittamisen sen jälkeen, kun sekä osattry
ettäexcept
osat 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.