TryExcept Python

try Il blocco permette di testare il blocco di codice per trovare errori.

except Il blocco permette di gestire gli errori.

finally Il blocco permette di eseguire codice, indipendentemente dal risultato del blocco try e except.

Gestione delle eccezioni

Quando si chiama Python e si verificano errori o eccezioni, di solito si ferma e si generano messaggi di errore.

È possibile utilizzare try istruzioni per gestire queste eccezioni:

Esempio

Il blocco try genererà un'eccezione perché x non è definito:

try:
  print(x)
except:
  print("An exception occurred")

Eseguire Esempio

Poiché il blocco try ha generato un errore, il blocco except verrà eseguito.

Se non c'è un blocco try, il programma si romperà e genererà un errore:

Esempio

Questa istruzione genererà un errore perché x non è definito:

print(x)

Eseguire Esempio

Eccezioni multiple

È possibile definire un numero qualsiasi di blocchi exception, ad esempio, se si desidera eseguire codice speciale per un tipo di errore specifico:

Esempio

Se il blocco try genera NameErrorVerrà stampato un messaggio, se c'è un altro errore, verrà stampato un altro messaggio:

try:
  print(x)
except NameError:
  print("La variabile x non è definita")
except:
  print("Something else went wrong")

Eseguire Esempio

Else

Se non si verifica alcun errore, è possibile utilizzare else usare la parola chiave per definire il blocco di codice da eseguire:

Esempio

In questo esempiotry Il blocco non genererà alcun errore:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Eseguire Esempio

Finally

Se specificato finally Se un blocco è definito, il blocco finally verrà eseguito indipendentemente dal fatto che il blocco try generi o meno un errore.

Esempio

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Eseguire Esempio

Questo è molto utile per chiudere gli oggetti e pulire le risorse:

Esempio

Prova ad aprire e scrivere in un file non scrivibile:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Qualcosa è andato storto durante la scrittura del file")
finally:
  f.close()

Eseguire Esempio

Il programma può continuare e non aprire l'oggetto file.

Sollevare eccezioni

Come sviluppatore Python, puoi scegliere di sollevare un'eccezione quando si verificano determinate condizioni.

Per sollevare (sollevare) un'eccezione, utilizzare raise Parole Chiave.

Esempio

Se x è minore di zero, viene sollevata un'eccezione e il programma viene interrotto:

x = -1
if x < 0:
  raise Exception("Dispiace, non sono ammessi numeri inferiori a zero")

Eseguire Esempio

raise Parole Chiave per sollevare eccezioni.

Puoi definire il tipo di eccezione sollevata e il testo stampato all'utente.

Esempio

Se x non è un intero, viene sollevato un TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Sono ammessi solo interi")

Eseguire Esempio