Pythoner
Фотография
✈️Ты наверняка знаешь try/except, но как часто используешь finally?
А ведь он нужен там, где что бы ни случилось — надо прибраться:
➡️Когда без него никак:
1. Закрытие файлов / соединений:
f = open("data.txt")
try:
process(f)
finally:
f.close() # всегда выполнится
2. Откат транзакций:
try:
db.begin()
db.do_stuff()
finally:
db.rollback_or_commit()
3. Остановка фоновых задач:
try:
start_worker()
finally:
stop_worker()
💡Даже если в try будет return, break, ошибка или KeyboardInterrupt — finally всё равно отработает.
Это твоя гарантированная уборка.
🐍 Pythoner
26 · 1.7K ·