Obsluga wyjatkow


Podczas programowania błędy zdarzają się co jakiś czas. Jest to po prostu część życia programisty.

Czasami użytkownik może podać złe dane. Zasoby sieciowe mogą być niedostępne. Może zabraknąć pamięci dla programu. W końcu programista mógł się nawet pomylić!

W Pythonie lekarstwem na to są tzw. wyjątki. Prawie na pewno nie widzisz ich po raz pierwszy.

>>> print a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

Ups! Nie przypisaliśmy wartość do a.

Ale czasami nie chcesz, aby wyjątek całkowicie zatrzymał twój program. Może chcesz podjąć konkretne kroki, kiedy wystąpi błąd. Jest to robione w bloku try/except

Oto prosty przykład: Przypuśćmy, że przechodzisz przez tablicę. Potrzebujesz przejść przez co najmniej 20 liczb, ale lista pochodzi od użytkownika, który niekoniecznie może dać na wejście 20 liczb. Po tym, jak dotrzesz na koniec tablicy, chcesz aby brakujące liczby były interpretowane jako 0. Aby to zrobić, możesz postąpić tak:

for i in range(20):
    try:
        rob_cos_z_tablica(the_list[i])
    except IndexError: # Raised when accessing a non-existing index of a list
        rob_cos_z_tablica(0)

To nie było zbyt trudne! Możesz to zrobić z każdym wyjątkiem. Aby dowiedzieć się więcej na ten temat, zajrzyj do dokumentacji Pythona


Copyright © learnpython.org. Read our Terms of Use and Privacy Policy