Python

Исключение Python

Исключение Python

Исключение - это событие, которое возникает во время выполнения программы, чтобы завершить или изменить нормальный поток программы. Например, ошибка вызывает исключение. Как и другие языки программирования, Python содержит множество встроенных исключений. Эти исключения возникают, если при выполнении программы возникает ошибка. Тип ошибки определяет, какое исключение должно быть вызвано. Когда возникает исключение, интерпретатор Python проверяет, обработано ли исключение; если нет, он завершает программу. В этой статье объясняются исключения в Python на различных примерах.

Встроенные исключения Python

Как обсуждалось ранее, Python имеет множество встроенных исключений, которые возникают при возникновении ошибки во время выполнения программы. Каждое исключение является производным от базового класса «Исключение». Ниже приведены некоторые встроенные исключения Python, а также краткое описание каждого типа исключения:

Исключение Описание
Исключение Каждое исключение является производным от этого класса.
ImportError Это исключение возникает, когда конкретный модуль импортирован, но не найден.
EOFError Это исключение конца файла. Это исключение возникает, когда достигается конец файла.
ZeroDivisionError Это исключение возникает, когда число делится на ноль.
KeyError Это исключение возникает, если указан или используется определенный ключ, который не определен внутри словаря.
IndexError Это исключение возникает при попытке доступа к индексу последовательности, который не входит в диапазон.
FloatingPointError Это исключение возникает при сбое операции с плавающей запятой.

Это некоторые из встроенных исключений в Python. Пожалуйста, посетите официальную документацию для получения дополнительной информации об использовании встроенных исключений в Python, расположенную по адресу https: // docs.питон.org / 3 / library / исключения.html.

Использование исключений в Python

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

пытаться:
выполнить операцию или функцию
Кроме:
функциональность для обработки исключения

Теперь мы реализуем простой код в нашем скрипте Python, используя блоки try и except.

Здесь мы напечатаем переменную name, которая не определена. Это вызывает исключение в блоке except.

#implementing the try block
пытаться:
печать (имя)
# реализация блока except
Кроме:
print («Произошло исключение»)

Выход

Если не возникает исключения, выполняется только блок try. В блоке except печатается инструкция о том, что произошло исключение.

Давайте посмотрим на другой пример, где мы определяем переменную имени:

# определение имени переменной
name = "Отметить"
#implementing the try block
пытаться:
печать (имя)
# реализация блока except
Кроме:
print («Произошло исключение»)

Выход

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

#implementing the try block
пытаться:
печать (имя)
# реализация блока except, чтобы отловить ошибку имени
кроме NameError:
print («Переменная не определена»)
# реализация блока except
Кроме:
print ("Что-то пошло не так, кроме ошибки имени")

Выход

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

#implementing the try block
пытаться:
печать (имя)
# реализация блока except для обнаружения ошибки
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока except
Кроме:
print ("Что-то пошло не так, кроме ошибки имени")

Выход

Опыт.__class__ возвращает имя класса исключения.

Точно так же давайте посмотрим на пример класса «ZeroDivisionError».

#implementing the try block
пытаться:
х = 1/0
печать (х)
# реализация блока except для обнаружения ошибки
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока except
Кроме:
print ("Что-то пошло не так, кроме ошибки имени")

Выход

Блок else

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

В этом примере мы реализуем блок else в нашем скрипте Python.

#implementing the try block
пытаться:
х = 1/2
печать (х)
# реализация блока except для обнаружения ошибки
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока else
еще:
print («Все прошло хорошо»)

Выход

Блок else выполняется после успешного выполнения блока try.

Давайте теперь посмотрим на другой пример, используя блок else.

#implementing the try block
пытаться:
name = "Отметить"
# реализация блока except для обнаружения ошибки
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока else
еще:
print ("Имя:", имя)

Выход

В приведенном выше примере переменная name определяется внутри блока try и печатается в блоке else.

Последний блок

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

#implementing the try block
пытаться:
печать (my_dict)
# реализация блока except для обнаружения ошибки
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока finally
наконец-то:
print ("Это последний блок")
print ("Выполняется блок finally")

Выход

На выходе видно, что блок try вызывает исключение. Однако блок finally выполняется в конце.

Теперь давайте откроем текстовый файл в блоке try, который вызывает исключение, в то время как файл, заключенный в блок finally.

#implementing the try block
пытаться:
fileObj = open ("mystudent.xml "," r ")
fileObj.искать (-2)
печать (fileObj.readlines ())
# реализация блока except
кроме Exception as exp:
печать (exp.__класс__)
# реализация блока finally
наконец-то:
fileObj.Закрыть()
print («Файл успешно закрыт»)

Выход

Как видите, независимо от ошибки значения файл был успешно закрыт внутри блока finally.

Поднять исключение

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

Теперь мы вызовем некоторые исключения, используя ключевое слово Raise. В следующем примере условие if реализовано для проверки неотрицательных чисел. Если существуют какие-либо неотрицательные числа, возникает исключение «Неотрицательные числа не допускаются».

# объявление двух числовых переменных
число1 = 20
число2 = -10
если ((число1<0) | (num2<0)):
Raise Exception («Неотрицательные числа не допускаются»)
еще:
печать (число1 + число2)

Выход

Заключение

Исключение возникает в ответ на ошибку во время выполнения. В Python мы можем обрабатывать исключения, используя блоки try и except. В этой статье объясняется, как использовать исключения в Python на различных примерах.

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...