⊗pyPmExcDTC 77 of 129 menu

Intercettare diversi tipi di eccezioni in Python

Nello stesso codice potrebbe essere necessario intercettare diversi tipi di eccezioni.

Supponiamo di dover catturare un'eccezione durante la divisione per zero. In caso di errore di questo tipo viene sollevata l'eccezione:

ZeroDivisionError: division by zero

Per catturarla, il nome dell'eccezione deve essere specificato nel blocco except:

try: print(1 / 0) except ZeroDivisionError: print('error: do not divide by zero')

Supponiamo inoltre di avere una lista:

lst = [1, 2, 3]

Se nel blocco try viene inserito del codice con un altro tipo di errore potenziale, ad esempio l'accesso a un elemento inesistente, l'eccezione non catturata nel blocco except si propagherà oltre e verrà stampata nella console. Ciò causerà l'arresto dell'esecuzione del codice:

lst = [1, 2, 3] try: print(lst[4]) # solleverà IndexError: list index out of range except ZeroDivisionError: print('error: do not divide by zero')

Per risolvere questa situazione, è necessario specificare in ogni blocco except il nome del tipo corrispondente di eccezione. Aggiungiamo al nostro codice la gestione dell'eccezione per l'elemento mancante:

try: print(lst[4]) except ZeroDivisionError: print('error: do not divide by zero') except IndexError: print('error: elem does not exist')

È dato il seguente codice:

txt = '2' res1 = txt + 3 res2 = txt1

Scrivi il codice per intercettare le eccezioni presenti nelle variabili res1 e res2.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta