Хочу сегодня поделиться с вами элегантным приемом для оформления обработки ошибок для разных действий.
Это код из проекта openpyxl. Вот ссылка на конкретный участок кода https://foss.heptapod.net/openpyxl/openpyxl/-/blob/branch/3.1/openpyxl/reader/excel.py#L285
Итак, что мы видим:
1. заключаем наши повторяющиеся действия с разным названием в try/catch секцию
2. каждому действию (вызову функции) предшествует название действия (action)
3. в обработчике ошибок (catch) оформляем сообщение об ошибке, используя название последнего выполнявшегося до выбрасывания исключения шага (с помощью переменной action)
Таким образом, пользователь будет знать конкретный этап, на котором что-то пошло не так
Берите на заметку! Красивый прием. Я уже успел применить этот прием в своем коде 😉
#middle #python #code_review #hint #best_practices