Gestione degli errori ed eccezioni in Python

In Python, la gestione degli errori e delle eccezioni è una parte essenziale del processo di programmazione. Durante l'esecuzione di un programma, possono verificarsi errori imprevisti ed eccezioni. La gestione degli errori e delle eccezioni consente al programma di gestire e segnalare queste situazioni impreviste in modo flessibile e leggibile.

 

Gestione degli errori comuni( Exception Handling)

In Python, usiamo il try-except blocco per gestire errori comuni. La try-except struttura consente al programma di eseguire un blocco di codice nella try sezione e, se si verifica un errore in questo blocco, il programma si sposterà nella except sezione per gestire quell'errore.

Esempio:

try:  
    # Attempt to perform an invalid division  
    result = 10 / 0  
except ZeroDivisionError:  
    print("Error: Cannot divide by zero.")  

 

Gestione delle eccezioni generali

Oltre a gestire tipi specifici di errori, possiamo anche utilizzare except senza specificare un tipo di errore specifico. Questo aiuta a gestire le eccezioni generali che non conosciamo in anticipo.

Esempio:

try:  
    # Attempt to perform an invalid division  
    result = 10 / 0  
except:  
    print("An error occurred.")  

 

Gestione di più tipi di eccezioni

Possiamo anche gestire più tipi diversi di errori nello stesso try-except blocco utilizzando più except clausole.

Esempio:

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.")  

 

Le clausole else e finally

  • La else clausola consente di eseguire un blocco di codice quando non ci sono errori nella try sezione.
  • La finally clausola consente di eseguire un blocco di codice dopo che entrambe le sezioni try e except sono state completate.

Esempio:

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.")  

 

La gestione degli errori e delle eccezioni Python rende il programma più robusto e ne aumenta la stabilità. Quando gestiamo correttamente gli errori, possiamo fornire messaggi appropriati o eseguire azioni di conseguenza quando si verificano situazioni impreviste.