⊗pyPmExcDTC 77 of 129 menu

Przechwytywanie różnych typów wyjątków w Pythonie

W tym samym kodzie może zaistnieć potrzeba przechwycenia różnych typów wyjątków.

Załóżmy, że musimy przechwycić wyjątek przy dzieleniu przez zero. Przy tego rodzaju błędzie powstaje wyjątek:

ZeroDivisionError: division by zero

Aby go przechwycić, nazwę wyjątku należy zapisać w bloku except:

try: print(1 / 0) except ZeroDivisionError: print('error: do not divide by zero')

Załóżmy również, że mamy listę:

lst = [1, 2, 3]

Jeśli w bloku try umieścimy kod z innym potencjalnym błędem, na przykład z wypisaniem nieistniejącego elementu, to wyjątek, nieprzechwycony w bloku except, przejdzie dalej i wyświetli się w konsoli. Z powodu czego zostanie zatrzymana praca kodu:

lst = [1, 2, 3] try: print(lst[4]) # wyświetli IndexError: list index out of range except ZeroDivisionError: print('error: do not divide by zero')

Aby rozwiązać taką sytuację, należy podać w każdym bloku nazwę odpowiedniego typu wyjątku. Dodajmy do naszego kodu wyjątek dotyczący brakującego elementu:

try: print(lst[4]) except ZeroDivisionError: print('error: do not divide by zero') except IndexError: print('error: elem is not exist')

Dany jest następujący kod:

txt = '2' res1 = txt + 3 res2 = txt1

Napisz kod, aby przechwycić przedstawione w zmiennych res1 i res2 wyjątki.

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ć