Обработка исключений Python: попробуй, поймай, наконец

Содержание:

Anonim

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

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

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

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

  • Что такое исключение в Python?
  • Общие примеры исключений
  • Почему вам следует использовать исключения?
  • Правила исключений
  • Исключительный механизм обработки
    • Заявление о попытке
    • Заявление об улове
    • Заявление о повышении
  • Важные ошибки Python
  • Другие важные исключения Python
  • Ошибка против исключений

Общие примеры исключения:

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

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

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

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

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

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

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

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

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

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

Заявление о попытке

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

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

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

Syntax:try:statement(s)

Заявление об улове

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

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

  • Вы можете определить блок catch, используя ключевое слово catch
  • Параметр Catch Exception всегда заключен в круглые скобки.
  • Он всегда представляет тип исключения, обрабатываемого блоком catch.
  • Код обработки исключений заключен между двумя фигурными скобками {}.
  • Вы можете разместить несколько блоков 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());}

Наконец блок

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

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

try:raise KeyboardInterruptfinally:print 'welcome, world!'OutputWelcome, world!KeyboardInterrupt

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

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

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

Синтаксис:

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

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

Пример:

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

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

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

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

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

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

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

Резюме

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