Найти тему
IT - Это просто

Обработка исключений в Python

Оглавление

Всем салют, друзья!

Продолжаем наш базовый курс по Python:

Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!

Сегодня ми с вами поговорим о обработке исключений в Python.

Погнали!

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

Обработка исключений Python

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

Для обработки этих ошибок или исключений мы используем технику обработки исключений.

Исключения обычно возникают из-за следующих событий:

  • Неверный ввод данных пользователем.
  • Файл, который нужно открыть, но не найден в памяти.

пример

-2

Это пример ошибки Python. Преимущество Python в том, что он предоставляет нам подробные сообщения об ошибках.

В приведенной выше программе он сообщает мне номер строки ошибки и код строки ошибки. Более того, он также сообщает мне, забыл ли я что-нибудь. Например, в приведенной выше программе я пропустил объявление переменной a и прямую печать переменной на консоли.

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

Если при создании программного кода вы считаете, что определенная часть программного кода может работать некорректно, то при выполнении он может внезапно прекратить работу, и ваша система может дать сбой. Чтобы предотвратить все это, вы можете добавить блок исключения в свой код, чтобы в случае ошибки Python Interpreter перехватил это исключение и предотвратил сбой вашей программы.

Стандартные исключения Python

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

IOError: возникает, когда операция ввода-вывода не выполняется, например, когда делается попытка открыть файл в режиме чтения, который не существует.

IndexError: эта ошибка возникает, когда последовательность индексируется с помощью номера несуществующего элемента.

KeyError: эта ошибка возникает, когда ключ словаря не найден.

NameError: возникает, когда имя идентификатора, такого как переменная или функция, не найдено.

SyntaxError: возникает при возникновении синтаксической ошибки.

TypeError: возникает, когда встроенная операция или функция применяется к объекту с несоответствующим типом данных .

ValueError: это происходит, когда встроенная операция или функция получает аргумент правильного типа, но несоответствующее значение.

ZeroDivisionError: возникает, когда второй аргумент операции деления или операции по модулю равен нулю.

Python попробуйте, кроме блока

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

Синтаксис

try:

statement 1

statement 2

statement n

except:

statement 1

statement 2

statement n

пример

try:

var1=float(raw_input("Enter a Number:\n"))

print("\n")

except:

print("Erorr Executing")

Выход

-3

Здесь я объявил переменную, которая принимает значение с плавающей запятой через функцию raw_input (). Я включил этот код в блок try, чтобы в случае возникновения ошибки я мог перенести его в блок исключения и затем обработать программу, выдав сообщение об ошибке.

Я ввел строковое значение thecrazyprogrammer.com, тогда как интерпретатор ожидает, что я введу значение с плавающей запятой, возникает исключение. В случае исключения управление передается блоку except, и выполняется инструкция печати.

Блок множественного исключения

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

пример

try:

var1=float(raw_input("Enter a Number:\n"))

print("\n")

except(SyntaxError):

print("Syntax Error Occured\n")

except(TypeError):

print("Invalid Datatype")

except(ValueError):

print("Invalid Value")

Выход

-4

Здесь я ввел недопустимое значение как «thecrazyprogrammer.com», что неверно, поскольку программа ожидает значение с плавающей запятой, и, следовательно, управление передается в правильный блок исключения, который является ValueError.

Python finally Block

Блок finally очень полезен при обработке исключений Python. Предложение finally всегда выполняется, как только элемент управления завершает блок try. Не имеет значения, произошло исключение или нет.

Синтаксис

finally():

statement 1

statement n

пример

try:

var1=float(raw_input("Enter a Number:\n"))

print("\n")

except:

print("Erorr Executing\n")

finally:

print("We are in finally block")

Выход

-5

В приведенном выше примере приглашение просит пользователя ввести целое число. После ввода целого числа он проверяет исключение и, поскольку ввод правильный, он напрямую переходит в блок finally.

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

Если у вас есть какие-либо вопросы по обработке исключений Python, напишите их ниже.