try-except
Lezione 3 di 16 del corso Gestione delle eccezioni in Python di Coddy.
Il blocco try-except in Python viene usato per intercettare e gestire le eccezioni. Di seguito è riportata la struttura di base del blocco try-except.
try:
statement 1
statements which can cause error
statement 3
except [ExceptionName]:
code for exception handling - Python esegue il codice del blocco try.
- Se incontra un'eccezione, l'esecuzione del codice passerà al blocco except. Le righe restanti del blocco try non verranno eseguite (nell'esempio precedente, statement 3).
- Se non si verifica alcuna eccezione, il blocco try verrà eseguito completamente e il blocco except verrà ignorato.
blocco try:
- Blocco contenente codice in cui può verificarsi un'eccezione.
blocco except:
- Blocco in cui intraprendi le azioni necessarie se si verifica un'eccezione.
Esempio:
try:
a = int(input())
b = int(input())
div = a/b
print("Division is:",div)
except ZeroDivisionError:
print("Cannot divide by zero")
print("Rest of code")Questo programma verrà eseguito correttamente se l'utente inserisce un valore diverso da zero per b.
Se l'utente inserisce 0 per b, 'a/b' causerà ZeroDivisionError e il controllo passerà al blocco except.
Stamperà il messaggio "Cannot divide by zero" nella console e il resto del codice verrà eseguito. Abbiamo evitato la terminazione del programma usando try-except
Sfida
FacileIl programma precedente genererà 'ValueError' se l'utente inserisce un valore non numerico per uno qualsiasi degli input.
Scrivi un programma per gestire questa eccezione e stampare il messaggio 'Not a Number' nella console.
Provalo tu
a = int(input())
b = int(input())
div = a/b
print("Division is:",div)
#Gestisci l'eccezione quiTutte le lezioni di Gestione delle eccezioni in Python
4Personalizzazione e buone pratiche
Personalizzare i traceback2Gestione delle eccezioni
try-exceptelsefinallyStampa del messaggio dell'eccezioneStampa del nome dell'eccezioneGestione di più eccezioniModulo sys per ottenere informazioniEsercitati da solo: Compilatore Python online