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ă în try, iar logica de recuperare în except.
  • Tipuri specifice de excepții: Nu prinde toate erorile generic. Folosește clase specifice precum ValueError, TypeError sau KeyError pentru 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 Exception pentru 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

  1. 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.
  2. 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.
  3. 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.

Resurse gratuite

Alte subiecte din „Bazele Python”