• Nie Znaleziono Wyników

Programowanie proceduralne

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne"

Copied!
29
0
0

Pełen tekst

(1)

Programowanie proceduralne

INP001210WL

rok akademicki 2019/20 semestr letni

Wykład 6

Karol Tarnowski

karol.tarnowski@pwr.edu.pl

L-1 p. 220

(2)

• Obsługa błędów

• Konstrukcja try-except

• Obsługa wielu wyjątków

• Domyślny komunikat wyjątku

• Klauzula else

• Klauzula finally

Plan prezentacji

T. Gaddis, Python dla zupełnie początkujących, Helion, 2019

(3)

• W wielu sytuacjach poprawność działania programu zależy od dostarczonych danych

Obsługa błędów

(4)

Obsługa błędów

(5)

Obsługa błędów

(6)

Obsługa błędów

(7)

Konstrukcja try-except

(8)

Konstrukcja try-except

spróbuj wykonać ten kod

jeśli zostanie zgłoszony wyjątek ValueError – to przejdź tu

(9)

Konstrukcja try-except

jeśli funkcja int() nie może zamienić napisu na liczbę zgłosi

wyjątek ValueError

(10)

Konstrukcja try-except

(11)

Konstrukcja try-except

(12)

• Z kodu wykonywanego wewnątrz klauzli try mogą być zgłaszane różne wyjątki

• Powtórzenie klauzli except pozwala wykonywać różny kod zależnie od sytuacji

Obsługa wielu wyjątków

(13)

Obsługa wielu wyjątków

(14)

Obsługa wielu wyjątków

(15)

• W przykładzie są obsłużone wyjątki typu:

– IOError

– ValueError

Obsługa wielu wyjątków

(16)

• Klauzula except może też obsługiwać wszystkie wyjątki

Obsługa wielu wyjątków

(17)

Obsługa wielu wyjątków

(18)

Obsługa wielu wyjątków

(19)

• Podczas obsługi wyjątku można opcjonalnie przypisać obiekt wyjątku

• Przykładowo:

except ValueError as err:

Domyślny komunikat wyjątku

(20)

• Podczas obsługi wyjątku można opcjonalnie przypisać obiekt wyjątku

• Przykładowo:

except ValueError as err:

• Można w ten sposób wyświetlić domyślny komunikat

Domyślny komunikat wyjątku

(21)

Domyślny komunikat wyjątku

(22)

Domyślny komunikat wyjątku

(23)

• Konstrukcja try-except może być rozszerzona o klauzulę else

• Polecenia umieszczone w bloku else są wykonywane po poleceniach bloku try tylko wtedy, gdy nie

zostanie zgłoszony żaden wyjątek

Klauzula else

(24)

Klauzula else

(25)

Klauzula else

spróbuj wykonać ten kod

obsłuż wyjątek

wykonaj jeśli nie było wyjątków

(26)

Klauzula else

(27)

• Konstrukcja try-except może być rozszerzona o klauzulę finally

• Polecenia umieszczone w bloku finally są

wykonywane niezależnie od tego, czy został zgłoszony jakiś wyjątek

Klauzula finally

(28)

Klauzula finally

(29)

• Obsługa błędów

• Konstrukcja try-except

• Obsługa wielu wyjątków

• Domyślny komunikat wyjątku

• Klauzula else

• Klauzula finally

Podsumowanie

Cytaty

Powiązane dokumenty

rok akademicki 2019/20 semestr letni..

• Funkcje wywołuje się pisząc jej nazwę oraz nawiasy klamrowe z argumentami przekazywanymi do funkcji.

• Podstawowym sposobem przekazywania zmiennych do funkcji jest przekazywanie przez wartość – funkcja nie zmieni.

Jeśli element wskazywany przez indeks jest większy od maksimum, to przypisz maksimum wartość elementu wskazywanego przez indeks 5.. • Przypisz maksimum_indeks

• Dostęp do struktur wskazywanych przez wskaźnik uzyskuje się operatorem ->.

• Polem struktury może być wskaźnik na taką strukturę – tego typu struktury. nazywamy

• Jeżeli nie można otworzyć pliku funkcja fopen() zwraca wskaźnik zerowy NULL.. • Jeżeli operacja zamknięcia pliku się nie powiedzie funkcja fclose()

• Po uruchamieniu programu w trybie debugowania mamy możliwość włamania się do niego. • Menu Debug >>