Ошибки и исключения
Когда что-то идёт не так, Python бросает исключение. Его можно поймать:
try:
n = int("сорок")
except ValueError:
n = 0
Частые исключения: ValueError (неверное значение), ZeroDivisionError (деление на ноль), KeyError (нет ключа), IndexError (нет индекса).
Своё исключение бросают через raise:
def set_speed(v):
if v < 0:
raise ValueError("Скорость не может быть отрицательной")
return v