Menu
Coddy logo textTech

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.

challenge icon

Wyzwanie

Łatwy

Napisz 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

Poćwicz samodzielnie: Kompilator Python online