Gestione di più eccezioni
Lezione 8 di 16 del corso Gestione delle eccezioni in Python di Coddy.
Supponiamo che nel tuo codice possano verificarsi più eccezioni. Puoi gestirle tutte nel modo seguente.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except (TypeError, ValueError, ZeroDivisionError) as obj:
print(obj)Se si verifica una qualsiasi delle tre eccezioni sopra indicate, il controllo passa al blocco except e il programma non viene terminato.
Gestire qualsiasi eccezione:
Se non sai quale eccezione si verificherà, non scrivere nulla dopo la parola chiave except.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except:
print("Something went wrong")La sintassi precedente gestirà qualsiasi eccezione proveniente dal blocco try. Tuttavia, qui non avrai un oggetto con cui stampare le informazioni.
Usa la sintassi seguente:
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except Exception as obj:
print(obj)La sintassi precedente gestirà qualsiasi eccezione sollevata nel blocco try e potrai stampare un messaggio usando obj.
Sfida
FacileCompleta la funzione 'calculator' che accetta due interi come argomenti ed esegue la divisione. Gestisci tutte le eccezioni che si verificano e stampa il messaggio standard. Se non si verifica alcuna eccezione, stampa il risultato usando il blocco else.
Provalo tu
def calculator(n1,n2):
#Il tuo codice va 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