⊗pyPmExcCt 75 of 129 menu

Gestione delle eccezioni in Python

In Python, rispetto ad altri linguaggi di programmazione, ci sono molte situazioni che generano eccezioni.

Esaminiamole più in dettaglio. Supponiamo di avere una lista:

lst = [1, 2, 3]

Accediamo a un elemento inesistente della lista:

print(lts[4])

Dopo l'esecuzione del codice, verrà visualizzato un errore (eccezione):

IndexError: list index out of range

Se invece abbiamo bisogno di continuare il lavoro senza visualizzare l'eccezione, dobbiamo catturarla utilizzando il costrutto try-except. Esso ha la seguente sintassi:

try: # codice che può generare un'eccezione except: # gestione dell'errore

Nel blocco try dovrebbe essere inserito il codice che potrebbe contenere un'eccezione. Se durante l'esecuzione di questo codice si verifica una situazione eccezionale, l'esecuzione del codice non si interromperà, ma passerà al codice del blocco except. In questo blocco è necessario scrivere un messaggio che descriva nel modo più preciso possibile l'errore verificatosi.

Se invece durante l'esecuzione del blocco try non si verifica alcuna situazione eccezionale, allora il codice utile verrà semplicemente eseguito, mentre il codice del blocco except non verrà eseguito.

Ora intercettiamo la nostra eccezione durante l'accesso a un elemento inesistente della lista. Per farlo, inseriamo nel blocco try il codice con il potenziale errore. E nel blocco except indichiamo la stampa a video del messaggio 'error: elem is not exist':

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Dopo l'esecuzione del codice, verrà visualizzato:

'error: elem is not exist'

Dopo aver studiato il costrutto try-except, lo stile del codice che scriverete dovrebbe cambiare. Ora tutti i punti in cui può verificarsi una situazione eccezionale devono essere racchiusi in try, e nel blocco except bisogna specificare la reazione a questa eccezione.

Chiedete all'utente due numeri. Dividete il primo per il secondo. Intercettate la situazione eccezionale della divisione per zero.

Chiedete all'utente un numero. Calcolate la radice quadrata di questo numero. Intercettate la situazione eccezionale dell'estrazione della radice da un numero negativo.

Data una lista. Chiedete all'utente un numero intero. Ottenete l'elemento della lista il cui indice è stato inserito dall'utente. Intercettate la situazione eccezionale che si verificherà se l'utente ha inserito un numero al di fuori dell'intervallo della lista.

Dato il seguente codice:

num = '5' res = num + 2 print(res)

Cosa non va in questo codice? Correggere i suoi difetti.

Dato il seguente codice:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Cosa non va in questo codice? Correggere i suoi difetti.

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