Menu
Coddy logo textTech

finally

Lezione 5 di 16 del corso Gestione delle eccezioni in Python di Coddy.

Esiste un altro blocco facoltativo chiamato finally.

Questo blocco viene eseguito in ogni circostanza. Viene eseguito indipendentemente dal fatto che l'istruzione try generi o meno un'Exception.

try:
	f = open("data.txt",encoding='utf-8')
except FileNotFoundError:
	print("File does not exist")
else:
	print(f.read())
finally:
	print("cleanup activities like closing file")	

Nell'esempio precedente, verrà generata un'Exception se data.txt non esiste e verrà eseguito il blocco except.

Se il file esiste, il controllo passa al blocco else perché non si è verificata alcuna eccezione e l'interprete leggerà i dati. 

Il blocco finally viene eseguito in entrambi i casi e svolge attività di pulizia, esegue il codice obbligatorio e le operazioni di sistema, libera la memoria ecc.

challenge icon

Sfida

Facile

Scrivi una funzione per aggiungere nuove coppie chiave-valore al dizionario fornito. Gestisci TypeError quando l'utente inserisce chiavi mutabili, cioè liste, e stampa "Cannot give mutable keys". Se la coppia chiave-valore viene aggiunta correttamente, stampa il valore aggiunto per la nuova chiave. Infine, stampa un dizionario al termine dell'operazione. 

Provalo tu

data = {
    'John' : 89,
    'Mike' : 91,
    'Angela':85,
}
def insert_data(key,value):
    #aggiungi la coppia chiave-valore a data
    #Gestisci TypeError se la chiave è mutabile, ad esempio una lista
    #stampa il dizionario aggiornato al termine dell'operazione

Tutte le lezioni di Gestione delle eccezioni in Python

Esercitati da solo: Compilatore Python online