Błędy, które ujawniają się podczas wykonania programu i nie są błędami składniowymi należą do tzw. wyjątków. Lista wyjątków jest dosyć pokaźna >>zobacz<<
Wyjątki te możemy obsługiwać, umieszczając kod, który może spowodować wyjątek w bloku try tzn.
try:
# Tutaj umieszczamy kod, który może wywołać wyjątek lub wyjątki
a kod, który ma obsłużyć dany wyjątek w bloku except (odpowiednik javowego catch) tzn.
except:
# Tutaj umieszczamy kod obsługi wyjątku
Bardziej przydatne jest reagowanie na pojawienie się konkretnych wyjątków niż obsługa wszystkich „zbiorczo”. Sama instrukcja except bez podania nazwy klasy błędu może być przydatna, jeśli chcemy przechwycić wyjątek, który nie został jeszcze obsłużony przez wcześniejszy blok except np.
except ZeroDivisionError:
# Tutaj umieszczamy kod obsługujący wyjątek ZeroDivisionError
except NameError:
# Tutaj umieszczamy kod obsługujący wyjątek NameError
except:
# Tutaj wyłapujemy pozostałe, nieobsłużone wyjątki
>>Część druga<<