Обработка исключений Python с использованием оператора try, exclude и finally
Обработка исключений Python с использованием операторов try, exclude и finally
В этом руководстве вы узнаете, как обрабатывать исключения в вашей программе на Python, используя операторы try, exclude и finally с помощью примеров.
Видео:обработка исключений Python (попробуйте..кроме..наконец-то)
Исключения в Python
Python имеет множество встроенных исключений, которые возникают, когда ваша программа сталкивается с ошибкой (что-то в программе идет не так).
Когда возникают эти исключения, интерпретатор Python останавливает текущий процесс и передает его вызывающему процессу до тех пор, пока он не будет обработан. Если не обработать, программа рухнет.
Например, рассмотрим программу, в которой есть функция 09
который вызывает функцию 15
, который, в свою очередь, вызывает функцию 29
. Если в функции 31
возникает исключение но не обрабатывается в 44
, исключение передается 51
а затем в 64
.
Если никогда не обрабатываться, отображается сообщение об ошибке, и наша программа неожиданно останавливается.
<час>Перехват исключений в Python
В Python исключения можно обрабатывать с помощью 71
заявление.
Критическая операция, которая может вызвать исключение, помещается внутрь 82
пункт. Код, обрабатывающий исключения, написан на 97
пункт.
Таким образом, мы можем выбрать, какие операции выполнять после того, как поймаем исключение. Вот простой пример.
06
Вывод
15пре>В этой программе мы перебираем значения randomList. список. Как упоминалось ранее, часть, которая может вызвать исключение, помещается внутри
105
. блокировать.Если исключения не возникает,
114
блок пропускается, и нормальный поток продолжается (для последнего значения). Но если возникает какое-либо исключение, оно перехватывается123
блок (первое и второе значения).Здесь мы печатаем имя исключения, используя
137
функция внутри146
модуль. Мы видим, что150
вызывает165
и179
вызывает180
.
Поскольку каждое исключение в Python наследуется от базового
190
class, мы также можем выполнить описанную выше задачу следующим образом:23Эта программа имеет тот же результат, что и вышеприведенная программа.
<час>Перехват определенных исключений в Python
В приведенном выше примере мы не упомянули какое-либо конкретное исключение в теге
202
. пункт.Это не очень хорошая практика программирования, поскольку она будет перехватывать все исключения и обрабатывать каждый случай одинаково. Мы можем указать, какие исключения
213
предложение должно поймать.А
225
предложение может иметь любое количество230
предложения для обработки разных исключений, однако в случае возникновения исключения будет выполнено только одно.Мы можем использовать кортеж значений, чтобы указать несколько исключений в предложении исключения. Вот пример псевдокода.
37<час>Вызов исключений в Python
В программировании на Python исключения возникают при возникновении ошибок во время выполнения. Мы также можем вручную вызывать исключения, используя
240
ключевое слово.При желании мы можем передать значения исключению, чтобы уточнить, почему возникло это исключение.
45<час>Попытка Python с предложением else
В некоторых ситуациях вам может понадобиться запустить определенный блок кода, если блок кода внутри
252
запустился без ошибок. В этих случаях вы можете использовать необязательный264
ключевое слово с273
заявление.Примечание :Исключения в предложении else не обрабатываются предыдущими предложениями exclude.
Давайте рассмотрим пример:
53Вывод
Если мы передаем нечетное число:
66Если мы передаем четное число, вычисляется и отображается обратное число.
78Однако, если мы передаем 0, мы получаем
288
как блок кода внутри291
не обрабатывается предыдущим305
.85<час>Попробовать Python... наконец
319
оператор в Python может иметь необязательный322
пункт. Это предложение выполняется несмотря ни на что и обычно используется для освобождения внешних ресурсов.Например, мы можем быть подключены к удаленному центру обработки данных через сеть или работать с файлом или графическим интерфейсом пользователя (GUI).
Во всех этих обстоятельствах мы должны очистить ресурс до того, как программа остановится, независимо от того, была ли она успешно запущена или нет. Эти действия (закрытие файла, графический интерфейс или отключение от сети) выполняются в
331
пункт, гарантирующий исполнение.Вот пример операций с файлами, иллюстрирующий это.
95Этот тип конструкции гарантирует, что файл будет закрыт, даже если во время выполнения программы возникнет исключение.
Python
- Ключевые слова и идентификаторы Python
- Оператор Python, отступы и комментарии
- Переменные Python, константы и литералы
- Преобразование типов Python и приведение типов
- Ввод, вывод и импорт Python
- Оператор передачи Python
- Глобальные, локальные и нелокальные переменные Python
- Управление каталогами и файлами Python
- Обработка исключений Python с использованием оператора try, exclude и finally
- Датчик температуры Python и Raspberry Pi