Учебники

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

Что такое исключение в Python?

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

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

В этом уроке по исключительной обработке Python вы узнаете:

Типичные примеры исключений:

  • Деление на ноль
  • Доступ к файлу, который не существует.
  • Добавление двух несовместимых типов
  • Попытка получить доступ к несуществующему индексу последовательности
  • Удаление таблицы с отключенного сервера базы данных.
  • Снятие в банкомате более доступной суммы

Почему вы должны использовать исключения?

Вот причины использования исключений в Python:

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

Правила исключений

Вот несколько важных правил обработки исключений Python:

  • Исключения должны быть объектами класса
  • Для исключений класса вы можете использовать оператор try с предложением исключением, в котором упоминается конкретный класс.
  • Даже если оператор или выражение синтаксически верны, он может отображать ошибку при попытке выполнить его.
  • Ошибки, обнаруженные во время выполнения, называются исключениями, и они не являются безусловно фатальными.

Исключительный механизм обработки

Обработка исключений управляется следующими 5 ключевыми словами:

  1. пытаться
  2. поймать
  3. наконец-то
  4. бросать

Заявление Try

Оператор try включает ключевое слово try, за которым следует двоеточие (:) и набор кода, в котором могут возникать исключения. У него есть одно или несколько предложений.

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

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

Syntax:
try:
statement(s)

Заявление о вылове

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

Правила для блока ловли:

  • Вы можете определить блок catch, используя ключевое слово catch
  • Параметр Catch Exception всегда заключен в скобки
  • Он всегда представляет тип исключения, которое обрабатывает блок-обработчики.
  • Код обработки исключений записан между двумя {} фигурными скобками.
  • Вы можете разместить несколько блоков catch в одном блоке try.
  • Вы можете использовать блок catch только после блока try.
  • Весь блок catch должен быть упорядочен от подкласса до исключения суперкласса.

Пример:

try
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
System.err.printin("Caught second " + e.getMessage());
}

Наконец-то блок

Наконец, блок всегда выполняется независимо от того, было ли выброшено исключение или нет. Ключевое слово final позволяет вам создать блок кода, следующий за блоком try-catch.

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

try:
    raise KeyboardInterrupt
finally:
    print 'welcome, world!'
Output
Welcome, world!
KeyboardInterrupt

Наконец, предложение выполняется перед оператором try.

Поднятие заявления

Оператор подъема указывает аргумент, который инициализирует объект исключения. Здесь запятая следует за именем исключения и аргумент или кортеж аргумента, который следует за запятой.

Синтаксис:

raise [Exception [, args [, traceback]]]

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

Пример:

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

Важные ошибки Python

Тип ошибки Описание
ArithmeticError ArithmeticError действует как базовый класс для всех арифметических исключений. Поднимается за ошибки в арифметических операциях.
ImportError ImportError вызывается, когда вы пытаетесь импортировать модуль, которого нет. Такое исключение возникает, если вы допустили ошибку при вводе имени модуля или модуля, которого нет в стандартном пути.
IndexError Ошибка IndexError возникает, когда вы пытаетесь сослаться на последовательность, которая находится вне диапазона.
KeyError Когда определенный ключ не найден в словаре, возникает исключение KeyError.
NameError Ошибка NameE возникает, когда имя упоминается в коде, который никогда не существует в локальном или глобальном пространстве имен.
ValueError Ошибка значения возникает, когда функция или встроенная операция получает аргумент, который может иметь правильный тип, но не имеет подходящего значения.
EOFError Этот тип ошибки возникает, когда одна из встроенных функций (input () или raw_input ()) достигает условия EOF без чтения каких-либо данных.
ZeroDivisonError Этот тип ошибки возникает, когда деление или модуль на ноль происходит для всех числовых типов.
IOError- Этот тип ошибки возникает при сбое операции ввода / вывода.
ошибка синтаксиса SyntaxErrors возникает при возникновении ошибки в синтаксисе Python.
IndentationError Эта ошибка возникает, когда отступ не определен

Другие важные исключения Python

исключение Описание
ArithmeticException Арифметическая ошибка, такая как деление на ноль.
ArraylndexOutOfBoundsException Индекс массива выходит за пределы.
ArrayStoreException Назначение помогает вам для элемента массива несовместимого типа.
ClassCastException Неверный состав
MlegalMonitorStateException Неправильная работа монитора, как ожидание на разблокированном потоке.
MlegalStateException Среда или приложение находятся в неправильном состоянии.
ClassNotFoundException Класс не найден.
CloneNotSupportedException Попытка клонировать объект, который не реализует интерфейс Cloneable.
Незаконное AccessException Доступ к классу запрещен.
InstantiationException Происходит при попытке создания объекта интерфейса или абстрактного класса.
CloneNotSupportedException Попытка клонировать объект, который не реализует интерфейс.

Ошибка и исключения

ошибка Исключения
Все ошибки в Java являются непроверенным типом. Исключения включают как проверенный, так и непроверенный тип.
Ошибки возникают во время выполнения, которые неизвестны компилятору. Исключения можно исправить, обработав их с помощью блоков try-catch.
Ошибки в основном вызваны средой, в которой запущено приложение. Само приложение вызывает исключения.
Примеры:
Java.lang.StackoverflowError.java.lang.OutofMemoryError
Примеры:
отмеченные исключения, исключение SQL, исключение NullPointerException и т. Д.

Резюме

  • Исключением является ошибка, которая произошла во время выполнения программы.
  • Исключение указывает, что, хотя событие может произойти, событие такого типа происходит нечасто.
  • Типичные примеры исключений: 1) Деление на ноль, 2) Доступ к файлу, который не существует, 3) Добавление двух несовместимых типов.
  • Исключением является объект Python, который представляет ошибку.
  • Оператор try включает ключевое слово try, за которым следует двоеточие (:) и набор кода, в котором могут возникать исключения. У него есть одно или несколько предложений.
  • Блоки захвата принимают один аргумент за раз, что является типом исключения, которое он может перехватить.
  • Оператор подъема указывает аргумент, который инициализирует объект исключения.
  • Наконец, блок всегда выполняется независимо от того, было ли выброшено исключение или нет.