Урок 14: Типы исключений, else и finally
Не все ошибки одинаковы — у каждой есть свой тип. int("x") вызывает ValueError, а обращение к отсутствующему ключу словаря вызывает KeyError. Можно перехватить конкретный тип с помощью except ValueError, обрабатывая только те ошибки, которых вы ожидаете. К тому же else выполняется, когда всё прошло
except ValueError — это как сказать «лови только красные мячи» вместо «лови всё». else — это «если ты не упал — продолжай», а finally — это «в любом случае убери за собой».
- типы исключений
- У каждой ошибки есть тип — ValueError, KeyError и другие. except ValueError перехватывает только этот тип.
- else (в try)
- Блок, который выполняется только если блок try завершился без исключения.
- finally
- Блок, который всегда выполняется в конце — независимо от того, произошло исключение или нет.