Обработка исключений в Python: обработка исключений с помощью Try Except

Опубликовано: 2021-06-29

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

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

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

Выполнение программы останавливается, как только возникает исключение. Это еще больше останавливает выполнение кода. Следовательно, исключения — это ошибки, возникающие в результате времени выполнения, которые не могут быть обработаны сценарием Python.

Для обработки исключений в python язык сценариев python предоставляет решение, позволяющее продолжать выполнение кода без каких-либо прерываний. Отсутствие обработки исключений останавливает выполнение кода, который существует после кода, вызывающего исключение.

В python доступно несколько встроенных опций, которые позволяют выполнять программу без прерывания, включая общие исключения. Наряду с этим предусмотрены настраиваемые исключения Python . Для любой программы на Python могут быть выброшены следующие общие исключения:

  • ZeroDivisionError: этот тип исключения возникает, когда ноль используется для деления числа.
  • NameError: Всякий раз, когда программе не удается найти имя, глобальное или локальное, возникает исключение этого типа.
  • IndentationError: Неправильный отступ приводит к ошибке indentationError.
  • IOError : сбой операции ввода-вывода приводит к ошибке IOError.
  • EOFError: Это происходит при непрерывной работе программы, даже когда

конец файла достигнут.

Оглавление

Вызов исключения

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

В python с помощью предложения повышения мы можем вызвать исключение. Приложение полезно в тех случаях, когда программу нужно остановить, вызвав исключение.

Например: предположительно программе требуется около 1 ГБ памяти для ее выполнения, и она пытается занять 1 ГБ, в этом случае, чтобы остановить выполнение программы, может быть выдано исключение.

Синтаксис для вызова исключения:

Exception_class,<значение>

Следовательно,

  • 'raise' используется для вызова исключения в программе.
  • Значение может быть предоставлено исключению, которое может быть предоставлено в скобках.
  • Доступ к значению можно сделать с помощью ключевого слова «как». Значение, присвоенное исключению, может быть сохранено в ссылочной переменной, обозначенной «e».
  • Для указания типа исключения значение может быть передано исключению.

Ассертионеррор

Утверждение может быть сделано в python вместо того, чтобы позволить программе сбой. Делается утверждение, что программа удовлетворяет определенному условию. Программа продолжит работу, если условие истинно. В противном случае программа выдает исключение AssertionError, когда условие оказывается ложным.

Обработка исключений через блок try и exclude

Исключения, созданные в python, перехватываются, а затем обрабатываются блоками try и exclude в python. Код внутри блока try обычно выполняется как часть программы. Другой блок включает операторы, которые выполняются в ответ на исключения, генерируемые программой в блоке try.

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

Применение предложения try и кроме будет лучше всего понято с помощью следующего примера, взятого из упомянутого источника.

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

Оформить заказ : Идеи и темы проекта Python

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

Запуск кода на компьютере с Windows приведет к следующему

Сообщение, отображаемое первым, указывает на ошибку AssertionError, посредством которой пользователь информируется о том, что функция может выполняться только в операционной системе Linux. Во втором сообщении также содержится информация о том, какую функцию не удалось выполнить.
Несуществование, если файл .log будет генерировать вывод с сообщением «Не удалось открыть файл .log».

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

Отсутствие файла file.log в этом случае приведет к следующему выводу.

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

Предложение else

Использование предложения else операторов может помочь в указании программе выполнять блок операторов только при отсутствии исключений.

Предложение else было выполнено только потому, что не было исключений. Если код содержит исключения, то получится следующее.

Пользовательские исключения Python

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

Можно создать новый класс для определения пользовательских исключений. Прямо или косвенно эти классы должны быть производными от класса встроенных исключений.

Создается определяемый пользователем класс CustomError, наследуемый от класса Exception. Подобно другим исключениям, эти исключения также вызываются с помощью 'raise' с необязательным сообщением об ошибке.

Определяемые пользователем исключения следует помещать в отдельный файл всякий раз, когда разрабатывается большая программа на Python. Как правило, это хорошая практика, и ей следуют большинство стандартных модулей, где исключения определяются отдельно как error.py или exceptions.py.

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

Синтаксис и примеры

Рассмотрим две переменные: a и b. Ввод переменных берется от пользователя и выполняется деление чисел. Теперь, если знаменатель, введенный пользователем, равен нулю.

Для обработки этих исключений в программу можно добавить блоки try-except. Для любого типа кода, который вызывает подозрение в генерации исключений. Он должен быть помещен в блок операторов try.

Синтаксис блока try

пытаться:

#код

кроме Исключения1:

#код

кроме Исключения2:

#код

#код

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

Синтаксис оператора else с try-except

пытаться

операторы #try

Кроме Исключения1

#код

Еще

#выполнение кода при отсутствии исключения

Несколько важных моментов:

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

Читайте также: Основные причины популярности Python среди разработчиков

Заключение

В этой статье мы кратко обсудили концепцию обработки исключений в python с некоторыми примерами. Наряду со встроенными исключениями также кратко определены пользовательские исключения Python . Теперь вы можете узнать о важности исключений и обработке исключений в python .

Если вам интересно узнать больше о языке python и его реализации в науке о данных, вы можете ознакомиться со следующим курсом upGrad «Executive PG Program in Data Science».

Онлайн-курс предназначен для всех специалистов начального уровня в возрасте от 21 до 45 лет. Курс, включающий более 20 живых занятий и практические знания более 14 инструментов и языков программирования, поможет вам достичь совершенства. Любые запросы могут быть отправлены в сообщения. Наша команда поможет вам.

Сколько типов ошибок существует в Python?

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

В чем ключевое различие между синтаксической ошибкой и исключением?

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

Какова роль ключевого слова повышения в Python?

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