Бывает так, что какой-либо метод при работе программы выдает исключение, но нам не надо его обрабатывать каким-нибудь хитрым образом, а достаточно лишь подавить исключение и идти дальше. Это можно сделать с помощью классического try-except, но есть и более элегантный способ. Когда это может пригодиться и как пользоваться? Об этом и поговорим в статье. Делать это без надобности строго не рекомендуется. Но бывают моменты, когда мы знаем, почему вызывается исключение и уверены, что оно не несет никаких рисков для нас. Поэтому мы временно можем его пропустить. Конкретный пример: Допустим, вы пишете автотест, и после создания некоторой сущности и выполнения манипуляций с ней, вам надо эту сущность удалить. Все отрабатывает корректно, вот только запрос на удаление зависает в статусе pending и ответ не приходит, вызывается исключение по таймауту, но при этом сущность удаляется. Зная все это, мы можем временно подавить исключение до решения проблемы с запросом и пустить тест в работу. Рассмотр
Элегантное подавление исключений с contextlib.suppress
8 августа 20248 авг 2024
4
1 мин