⊗pyPmExcCt 75 of 129 menu

Przechwytywanie wyjątków w Pythonie

W Pythonie w porównaniu do innych języków programowania występuje bardzo wiele sytuacji, które powodują wyjątki.

Przyjrzyjmy się im bardziej szczegółowo. Załóżmy, że mamy listę:

lst = [1, 2, 3]

Odwołajmy się do nieistniejącego elementu listy:

print(lts[4])

Po wykonaniu kodu zostanie wyświetlony błąd (wyjątek):

IndexError: list index out of range

Jeśli jednak chcemy kontynuować pracę bez wyświetlania wyjątku, należy go złapać za pomocą konstrukcji try-except. Ma ona następującą składnię:

try: # kod, który może powodować wyjątek except: # obsługa błędu

W bloku try należy umieszczać kod, który może zawierać wyjątek. Jeśli nagle podczas wykonywania tego kodu wystąpi sytuacja wyjątkowa, to wykonanie kodu nie zostanie zatrzymane, ale przejdzie do kodu bloku except. W tym bloku należy wpisać wyświetlenie komunikatu, który maksymalnie dokładnie opisuje istotę powstałego błędu.

Jeśli natomiast podczas wykonywania bloku try nie wystąpiły żadne sytuacje wyjątkowe, to pożyteczny kod po prostu się wykona, a kod z bloku except - nie.

Przechwyćmy nasz wyjątek przy odwołaniu się do nieistniejącego elementu listy. W tym celu w bloku try umieścimy kod z potencjalnym błędem. A w bloku except wskazemy wyświetlenie w konsoli komunikatu 'error: elem is not exist':

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

Po wykonaniu kodu wyświetli się:

'error: elem is not exist'

Po zapoznaniu się z konstrukcją try-except styl napisanego przez ciebie kodu powinien ulec zmianie. Teraz wszystkie miejsca, w których może wystąpić sytuacja wyjątkowa, należy opakowywać w try, a w bloku except wpisywać reakcję na ten wyjątek.

Poproś użytkownika o dwie liczby. Podziel jedną przez drugą. Przechwyć sytuację wyjątkową dzielenia przez zero.

Poproś użytkownika o liczbę. Znajdź pierwiastek kwadratowy z tej liczby. Przechwyć sytuację wyjątkową pierwiastkowania liczby ujemnej.

Dana jest lista. Poproś użytkownika o liczbę całkowitą. Pobierz element listy, którego numer wpisał użytkownik. Przechwyć sytuację wyjątkową, która wystąpi, jeśli użytkownik wpisał liczbę spoza zakresu listy.

Dany jest następujący kod:

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

Co jest nie tak z tym kodem? Popraw jego niedociągnięcia.

Dany jest następujący kod:

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

Co jest nie tak z tym kodem? Popraw jego niedociągnięcia.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć