Gestionarea erorilor este fundamentală pentru scrierea unui cod robust și fiabil. În Python, excepțiile sunt evenimente care apar în timpul execuției și perturbă fluxul normal al instrucțiunilor. Fără un mecanism adecvat de tratare a acestora, orice eroare neașteptată poate duce la oprirea bruscă a aplicației tale. Învață să anticipezi și să gestionezi aceste situații pentru a asigura o experiență stabilă utilizatorului.
Ce trebuie să știi
- Blocul
try-except: Este structura principală prin care interceptezi erorile. Codul riscant se plasează întry, iar logica de recuperare înexcept. - Tipuri specifice de excepții: Nu prinde toate erorile generic. Folosește clase specifice precum
ValueError,TypeErrorsauKeyErrorpentru a gestiona problemele corect. - Catching multiple exceptions: Poți gestiona mai multe tipuri de erori într-un singur bloc folosind o tuplă de excepții sau blocuri separate pentru claritate.
- Blocul
finally: Se execută indiferent dacă a apărut o eroare sau nu. Este ideal pentru curățarea resurselor, cum ar fi închiderea fișierelor sau conexiunilor la baze de date. - Lanțul de excepții: Înțelege cum Python afișează traceback-ul pentru a debug-ui rapid originea problemei. Evită „mascularea” erorilor prin prinderea tuturor excepțiilor fără a le loga.
- Aruncarea excepțiilor custom: Poți crea clase proprii care moștenesc din
Exceptionpentru a modela erori specifice domeniului tău de aplicatie.
def divide(a, b):
try:
result = a / b
except ZeroDivisionError:
print("Eroare: Împărțirea la zero nu este permisă.")
return None
except TypeError:
print("Eroare: Argumentele trebuie să fie numere.")
return None
else:
print(f"Rezultat: {result}")
return result
finally:
print("Operație finalizată.")
Cum să înveți
- Experimentează intenționat: Scrie cod care va eșua deliberat (de exemplu, deschide un fișier inexistent) și observă tipul de excepție generat înainte de a-l prinde.
- Citește traceback-ul: Învață să interpretezi mesajele de eroare. Ele îți spun exact linia unde a eșuat execuția și tipul problemei, economisind ore întregi de debugging.
- Aplică principiul „Fail Fast”: Nu ignora erorile. Dacă nu poți gestiona o situație anume, lasă excepția să se propaghe sau logheaz-o clar, în loc să o ascunzi cu un
except: pass.