Finally
Lekcja 5 z 16 w kursie Obsługa wyjątków w Pythonie w Coddy.
Istnieje jeszcze jeden opcjonalny blok, który nazywa się finally.
Ten blok jest wykonywany w każdych okolicznościach. Uruchamia się niezależnie od tego, czy instrukcja try zgłosi wyjątek.
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") W powyższym przykładzie zostanie zgłoszony wyjątek, jeśli data.txt nie istnieje, a blok except zostanie wykonany.
Jeśli plik istnieje, sterowanie przechodzi do bloku else, ponieważ nie wystąpił wyjątek, a interpreter odczyta dane.
Blok finally jest wykonywany w obu przypadkach i przeprowadza czynności porządkowe, wykonuje wymagany kod i operacje systemowe, zwalnia pamięć itp.
Wyzwanie
ŁatwyNapisz funkcję dodającą nowe pary klucz-wartość do podanego słownika. Obsłuż TypeError, gdy użytkownik wprowadzi klucze mutowalne, np. listę, i wypisz "Cannot give mutable keys". Jeśli para klucz-wartość zostanie dodana pomyślnie, wypisz dodaną wartość dla nowego klucza. Na koniec wypisz słownik po wykonaniu operacji.
Spróbuj swoich sił
data = {
'John' : 89,
'Mike' : 91,
'Angela':85,
}
def insert_data(key,value):
#dodaj parę klucz-wartość do data
#Obsłuż TypeError, jeśli klucz jest modyfikowalny, np. jest listą
#wyświetl zaktualizowany słownik po zakończeniu operacji
Wszystkie lekcje w sekcji Obsługa wyjątków w Pythonie
4Dostosowywanie i dobre praktyki
Dostosowywanie śladów stosuPoćwicz samodzielnie: Kompilator Python online