@zlodiak

Как заворачивать контекстный менеджер?

Мне кажется, я погорячился:

def write_result(self, phone_num):
        try:
            with open(self.result_filename, 'a', encoding='utf-8') as f:
                f.write(phone_num + '\n')   
        except IOError as e:
            self.logger.write_into_error_log('Error write results for filename: ' + str(self.result_filename) + ' :: ' + str(e))
        except Exception as e:
            self.logger.write_into_error_log('Some error for: ' + str(self.result_filename) + ' :: ' + str(e))


Скажите пожалуйста, стоит ли так жёстко заворачивать в блок try/except операцию записи в файл?

Я понимаю, что можно написать свой контекстный менеджер, у которого в аргументах __exit__() будет информация об ошибке, но не уверен, что заменять уже готовый with open своим контекстным менеджером хорошая практика.

Что является хорошей практикой в такой ситуации?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы