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