Обработка исключений Python:попробовать, поймать, наконец и поднять [Пример]
Что такое обработка исключений в Python?
Исключением является ошибка, возникающая во время выполнения программы. Однако при запуске программы Python генерирует исключение, которое следует обработать, чтобы избежать сбоя вашей программы. В языке Python исключения запускаются автоматически при ошибках или могут быть вызваны и перехвачены вашим кодом.
Исключение указывает на то, что, хотя событие может произойти, события такого типа случаются нечасто. Когда метод не может обработать исключение, оно передается вызывающей функции. В конце концов, когда из основной функции выбрасывается исключение, программа резко завершается.
В этом учебном пособии по исключительной обработке Python вы узнаете:
- Что такое исключение в Python?
- Распространенные примеры исключений
- Зачем использовать исключения?
- Правила-исключения
- Механизм обработки исключений Python
- Заявление о пробной версии Python
- Уведомление Python Catch
- Выражение Raise в Python
- Важные ошибки Python
- Другие важные исключения Python
- Ошибки и исключения
Распространенные примеры исключений:
- Деление на ноль
- Доступ к несуществующему файлу.
- Добавление двух несовместимых типов
- Попытка доступа к несуществующему индексу последовательности
- Удаление таблицы с отключенного сервера базы данных.
- Снятие в банкомате суммы, превышающей доступную.
Почему следует использовать исключения?
Вот причины использования исключений в Python:
- Обработка исключений позволяет отделить код обработки ошибок от обычного кода.
- Исключение – это объект Python, представляющий ошибку.
- Как и комментарии к коду, исключения помогают напомнить себе о том, что ожидает программа.
- Это проясняет код и повышает его читабельность.
- Позволяет стимулировать последствия, поскольку обработка ошибок происходит в одном месте и одним способом.
- Исключение – это удобный способ обработки сообщений об ошибках.
- В Python вы можете вызвать исключение в программе с помощью метода повышения исключения.
- Вызов исключения помогает прервать выполнение текущего кода и возвращает исключение обратно в ожидаемое состояние до тех пор, пока оно не будет обработано.
- Обработка исключений для компонентов, которые не могут обрабатывать их напрямую.
Правила-исключения
Вот несколько важных правил обработки исключений Python:
- Исключения должны быть объектами класса
- Для исключений класса вы можете использовать оператор try с предложением exclude, в котором упоминается конкретный класс.
- Даже если оператор или выражение синтаксически правильное, оно может отображать ошибку при попытке выполнить его.
- Ошибки, обнаруженные во время выполнения, называются исключениями и не являются безусловно фатальными.
Механизм обработки исключений Python
Обработкой исключений управляют следующие 5 ключевых слов:
- попробовать
- поймать
- наконец-то
- выбросить
Заявление о пробной версии Python
Оператор try включает ключевое слово try, за которым следует двоеточие (:) и набор кода, в котором могут возникать исключения. Он содержит одно или несколько предложений.
Если во время выполнения оператора try не возникло никаких исключений, интерпретатор игнорирует обработчики исключений для этого конкретного оператора try.
В случае, если какое-либо исключение возникает в наборе проб, срок действия набора проб истекает, и управление программой передается соответствующему обработчику исключений, следующему за набором проб.
Syntax: try: statement(s)
Утверждение catch
Блоки перехвата принимают по одному аргументу за раз, что является типом исключения, которое он может перехватить. Эти аргументы могут варьироваться от определенного типа исключения, которое можно варьировать, до универсальной категории исключений.
Правила для блока catch:
- Вы можете определить блок catch с помощью ключевого слова catch
- Параметр перехвата исключения всегда заключен в круглые скобки
- Он всегда представляет тип исключения, которое обрабатывает блок 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()); }
Окончательный оператор в Python
Блок finally всегда выполняется независимо от того, выброшено исключение или нет. Ключевое слово final позволяет создать блок кода, следующий за блоком try-catch.
Наконец, пункт является необязательным. Он предназначен для определения действий по очистке, которые должны выполняться при любых условиях.
try: raise KeyboardInterrupt finally: print 'welcome, world!' Output Welcome, world! KeyboardInterrupt
Наконец, предложение выполняется перед оператором try.
Поднять оператор в Python
Оператор повышения указывает аргумент, который инициализирует объект исключения. Здесь запятая следует за именем исключения и аргументом или кортежем аргумента, который следует за запятой.
Синтаксис:
raise [Exception [, args [, traceback]]]
В этом синтаксисе аргумент является необязательным, и во время выполнения значение аргумента исключения всегда равно нулю.
Пример:
Исключение Python может быть любым значением, таким как строка, класс, число или объект. Большинство этих исключений, вызываемых ядром Python, представляют собой классы с аргументом, являющимся экземпляром класса.
Важные ошибки Python
Тип ошибки | Описание |
---|---|
Арифметическая ошибка | ArithmeticError действует как базовый класс для всех арифметических исключений. Вызывается за ошибки в арифметических операциях. |
ИмпортОшибка | ImportError возникает, когда вы пытаетесь импортировать модуль, который не представлен. Такое исключение возникает, если вы допустили ошибку при вводе имени модуля или модуля, которого нет в стандартном пути. |
Ошибка индекса | Ошибка IndexError возникает, когда вы пытаетесь сослаться на последовательность, которая находится вне допустимого диапазона. |
Ошибка Ключа | Если определенный ключ не найден в словаре, возникает исключение KeyError. |
Ошибка имени | Ошибка NameError возникает, когда имя упоминается в коде, который никогда не существует в локальном или глобальном пространстве имен. |
ValueError | Ошибка значения возникает, когда функция или встроенная операция получает аргумент, который может иметь правильный тип, но не имеет подходящего значения. |
Ошибка EOF | Ошибка такого рода возникает, когда одна из встроенных функций (input() или raw_input()) достигает состояния EOF без считывания каких-либо данных. |
ZeroDivisonError | Этот тип ошибки возникает, когда деление или модуль на ноль имеет место для всех числовых типов. |
IOError- | Ошибка такого рода возникает при сбое операции ввода/вывода. |
синтаксическая ошибка | SyntaxErrors возникает при наличии ошибки в синтаксисе Python. |
Ошибка отступа | Эта ошибка возникает, когда отступ определен неправильно |
Другие важные исключения Python
Исключение | Описание |
---|---|
Арифметическое исключение | Арифметическая ошибка, например, деление на ноль. |
ArraylndexOutOfBoundsException | Индекс массива выходит за пределы. |
Исключение ArrayStoreException | Присвоение помогает вам присвоить элемент массива несовместимого типа. |
КлассCastException | Неверное приведение |
MlegalMonitorStateException | Недопустимая операция монитора, например ожидание разблокированного потока. |
MlegalStateException | Среда или приложение находятся в неправильном состоянии. |
КлассNotFoundException | Класс не найден. |
CloneNotSupportedException | Попытка клонировать объект, который не реализует интерфейс Cloneable. |
Недопустимое исключение доступа | Доступ к классу запрещен. |
Исключение экземпляра | Происходит, когда вы пытаетесь создать объект интерфейса или абстрактного класса. |
CloneNotSupportedException | Попытка клонирования объекта, который не реализует интерфейс. |
Ошибки и исключения
Ошибка | Исключения |
---|---|
Все ошибки в Python относятся к непроверяемому типу. | Исключения включают как проверенные, так и непроверенные типы. |
Во время выполнения возникают ошибки, неизвестные компилятору. | Исключения можно восстановить, обработав их с помощью блоков try-catch. |
Ошибки в основном вызваны средой, в которой работает приложение. | Исключения вызывает само приложение. |
Примеры: OutofMemoryError | Примеры: Проверенные исключения, исключение SQL, исключение NullPointerException и т. д. |
Обзор
- Исключение – это ошибка, возникшая во время выполнения программы.
- Исключение указывает на то, что хотя событие может произойти, события такого типа случаются нечасто.
- Обычные примеры исключений:1) деление на ноль, 2) доступ к несуществующему файлу, 3) добавление двух несовместимых типов.
- Исключение – это объект Python, представляющий ошибку.
- Инструкция try включает ключевое слово try, за которым следует двоеточие (:) и набор кода, в котором могут возникать исключения. Он содержит одно или несколько предложений.
- Блоки перехвата принимают по одному аргументу за раз, что является типом исключения, которое он может перехватить.
- Инструкция повышения указывает аргумент, который инициализирует объект исключения.
- Наконец, block всегда выполняется независимо от того, выброшено исключение или нет.
Python