În această lecție, vom discuta despre gestionarea excepțiilor în Python, ce sunt excepțiile, cum să utilizăm blocurile try și except, și vom oferi exemple de gestionare a excepțiilor.
Ce sunt excepțiile?
Excepțiile sunt evenimente care apar în timpul execuției unui program și indică faptul că o eroare a avut loc. În Python, excepțiile sunt reprezentate de obiecte speciale, derivate din clasa BaseException. Atunci când o eroare apare în program, Python ridică (în engleză, „raise”) automat o excepție. Dacă excepția nu este gestionată, programul se întrerupe și afișează un mesaj de eroare.
Blocurile try și except
Pentru a gestiona o excepție și a permite programului să continue execuția în mod normal, trebuie să înconjurați codul care ar putea genera excepția într-un bloc try, urmat de unul sau mai multe blocuri except care specifică tipul de excepție pe care doriți să le gestionați.
Sintaxa blocurilor try și except
try:
# Codul care ar putea genera o excepție
except TipExcepție1:
# Codul care se execută dacă excepția TipExcepție1 este generată
except TipExcepție2:
# Codul care se execută dacă excepția TipExcepție2 este generată
Exemple de gestionare a excepțiilor
Exemplu 1: Gestionarea excepției ZeroDivisionError
numerator = 5
denominator = 0
try:
rezultat = numerator / denominator
except ZeroDivisionError:
print("Eroare: Împărțirea la zero nu este permisă!")
În acest exemplu, împărțirea la zero va genera o excepție ZeroDivisionError. Prin gestionarea acestei excepții, programul va afișa un mesaj de eroare în loc să se întrerupă.
Exemplu 2: Gestionarea excepției FileNotFoundError
nume_fisier = "fisier_inexistent.txt"
try:
with open(nume_fisier, "r") as fisier:
continut = fisier.read()
except FileNotFoundError:
print(f"Eroare: Fișierul '{nume_fisier}' nu a fost găsit!")
În acest exemplu, încercarea de a deschide un fișier inexistent va genera o excepție FileNotFoundError. Prin gestionarea acestei excepții, programul va afișa un mesaj de eroare în loc să se întrerupă.
Prin gestionarea excepțiilor în Python, puteți scrie programe mai robuste și tolerante la erori, care pot continua execuția în ciuda unor probleme minore sau temporare.