Исключениями в языке программирования python называют ошибки, возникшие в ходе работы программы. Данная ошибка останавливает дальнейшую работу программы.
Как обрабатывать исключения в python
Типичным примером исключения является деление на ноль, невозможность чтения данных из файла (устройства), нехватка доступной памяти, доступ к приватной области памяти. В языке программирования python обработка исключений происходит благодаря нескольким ключевым словам:
- try - Операция или код, который может вызвать ошибку помещается после данной команды
- except - Код, который будет выполнен при возникновении ошибки помещается после данного блока
- finally - Данная команда похожа на except, но выполняется всегда, независомо от наличия или отсутствия ошибки
- Else - Данная команда запускает код после себя, если не произошло ошибок
Обработка исключений с пмощью try и execept
Давайте приведём стандартный пример. Все знают, что на ноль делить нельзя, но, если мы это сделаем, наша программа остановится на данном моменте, выдав ошибку. Как избежать такого:
try:
b = 21 / 0
except:
print('На ноль делить нельзя')
Не забывайте, что ошибки бывают разные, поэтому если вы укажите конкретную, except будет реагировать только на неё, например:
a = 0
try:
b = 21 / a
except ZeroDivisionError:
print('На ноль делить нельзя')
Если возникнет другая ошибка помимо ZeroDivisionError (деление на ноль невозможно) , то программа будет остановлена. Можно использовать для разных типов ошибок свой обработчик и действия программы.
Обработка исключений с помощью finally
При обработке исключений можно после блока try использовать блок finally. Данная команда похожа на except, но выполняется всегда, независимо от наличия или отсутствия ошибки. Давайте представим ситуацию, когда вам нужно обязательно что-то сохранить, хоть есть ошибка или нет. Проведём параллель с файлом, он сохранятся только при закрытии:
file = open('file.txt', 'r')
try:
lines = file.readlines()
print(lines[5])
except:
Tk().withdraw() # открывает окно выбора папок
text = askopenfilename() # прикрепляет файл
print(text)
finally:
file.close()
Обработка исключений с помощью Else
Иногда нужно выполнить определенные действия, когда код внутри блока try не вызвал исключения. Например:
b = 4
c = int(input('c = '))
try:
a = b / c
except ZeroDivisionError:
print('На ноль делить нельзя')
else:
print(a)
Если пользователь присвоит переменной "с" ноль, то появится исключение, однако при отсутствии исключений выведется значение из переменной 'a'
Полезные ссылки :
- Поддержать проект : https://sobe.ru/na/k2m2y190P0C4
- Полный курс, вы найдёте на сайте blogproger.ru : https://blogproger.ru/curse/Pervaja-nastrojka-python-1/
- Информация взята с сайта blogproger.ru
- Канал ютуб - https://www.youtube.com/c/blogproger
- Паблик в вконтакте - https://vk.com/public208206734
- Канал на Дзен - https://zen.yandex.ru/blogproger
- Канал на Кью - https://yandex.ru/q/loves/blogproger/
Ставьте лайки, рассказывайте друзьям и обязательно комментируйте! =)