07 Июл 2023
1 мин
174

Правильное игнорирование исключений в Python

В работе с Python часто возникают ситуации, когда необходимо выполнить какое-либо действие и при этом игнорировать возможно возникающие исключения.

Содержание

В работе с Python часто возникают ситуации, когда необходимо выполнить какое-либо действие и при этом игнорировать возможно возникающие исключения. Это может быть полезно, например, при удалении файла или директории, которые могут не существовать.

Такой подход может выглядеть следующим образом:

try:
    os.remove('non_existing_file.txt')
except:
    pass

В данном случае оператор try пытается выполнить операцию удаления файла. Если файл существует, то он успешно удаляется. Если же файла не существует, то возникает исключение, которое перехватывается оператором except. В блоке except нет никаких действий, поэтому программа просто продолжает свою работу дальше.

Но стоит осторожно использовать такой подход, поскольку оператор except без указания конкретного типа исключения будет перехватывать абсолютно все исключения, включая те, которые могут быть неожиданными. Это может привести к тому, что серьезная ошибка в программе останется незамеченной.

Поэтому рекомендуется всегда указывать конкретный тип исключения, которое нужно игнорировать. В случае с удалением файла это будет выглядеть так:

try:
    os.remove('non_existing_file.txt')
except FileNotFoundError:
    pass

Такой код будет игнорировать только исключение FileNotFoundError, которое возникает, если удаляемого файла не существует. Все остальные исключения будут проброшены дальше и, скорее всего, приведут к остановке выполнения программы.

Содержание

Добавить комментарий

Определи профессию по рисунку