Расскажи про опциальный метод else в конструкции try except в Python
Python
Junior
Без компании
Расскажи про опциальный метод else в конструкции try except в Python
Ответы
Конструкция `else` в `try-except` выполняется, если в блоке `try` не возникло исключений. Это удобно для кода, который должен выполняться только при успешном завершении `try`, но не в `finally`, который выполняется всегда.
```
try:
result = 10 / 2
except ZeroDivisionError:
print("Division by zero!")
else:
print(f"Result is {result}") # Выполнится, если нет исключений
finally:
print("This always runs")
```
**Нюансы:**
- `else` выполняется до `finally`.
- Позволяет избежать захвата исключений в основном коде, который не должен их вызывать.
- Улучшает читаемость, отделяя код обработки ошибок от основного потока.
Пример без `else` (менее читаемо):
```
try:
result = 10 / 2
print(f"Result is {result}") # Может скрыть источник исключения
except ZeroDivisionError:
print("Division by zero!")
```