Мне кажется, я погорячился:
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 своим контекстным менеджером хорошая практика.
Что является хорошей практикой в такой ситуации?