Python Keyboardinterrupt

Мы создадим небольшую программу, которая запрашивает Программирование и разработка

Поскольку мы очень хорошо знаем, что такое исключения и как ими управлять в Python, мы можем перейти к следующему разделу. С точки зрения непрофессионала, исключения — это все, что нарушает нормальный ход программы. Точно так же KeyboardInterrupt — это исключение Python, которое генерируется, когда пользователь или программист прерывает обычное выполнение программы.

Во время выполнения программы интерпретатор Python регулярно проверяет наличие прерываний. Когда пользователь или программист по ошибке или намеренно нажимает клавишу ctrl-c или del в Python, интерпретатор выдает исключение KeyboardInterrupt.

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

Исключение KeyboardInterrupt и как оно работает?

KeyboardInterrupt Исключение — это стандартное исключение, которое выдается для управления ошибками клавиатуры. В Python нет специального синтаксиса для исключения KeyboardInterrupt; это обрабатывается в обычном блоке try и exclude. Код, который потенциально вызывает проблему, записывается внутри блока try, а ключевое слово «raise» используется для возбуждения исключения или интерпретатор Python вызывает его автоматически.

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

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

Пример 1

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

Читайте также:  Enum (перечисление) в Java

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

Мы создадим небольшую программу, которая запрашивает ввод данных от пользователя при ручной обработке исключения KeyboardInterrupt, чтобы продемонстрировать код Python для KeyboardInterrupt. Оператор try…except используется в следующем коде Python для захвата ошибки KeyboardInterrupt.

Мы создадим небольшую программу, которая запрашивает

Результат показан ниже.

Функция ввода расположена между блоками

Функция ввода расположена между блоками try в приведенном выше коде и оставлена ​​пустой, поскольку в этом сценарии дополнительная информация не требуется. Затем блок, если не обрабатывает ошибку KeyboardInterrupt.

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

Пример 2

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

Когда это происходит, KeyboardInterrupt вызывается по умолчанию. Модуль sys в Python предоставляет ряд полезных переменных и функций для управления средой выполнения Python.

Модули signal и sys должны быть включены в код Python, чтобы использовать этот подход без ошибок. Обработчики сигналов используются в следующем коде Python для обнаружения ошибки KeyboardInterrupt.

Модули signal и sys должны быть включены в код Python

Результат приведенного выше кода выглядит следующим образом.

Результат приведенного выше кода вы

Функция signal.signal() используется в приведенном выше коде для указания пользовательских обработчиков, которые будут запускаться при получении сигнала определенного типа. Стоит отметить, что как только обработчик настроен для определенного сигнала, он остается на месте, пока пользователь не сбросит его активно. Обработчик SIGCHLD является единственным исключением в этой ситуации.

Пример 3

Вот последняя программа, которую мы рассмотрим. Код внутри блока try потенциально выдает исключение, а затем принимает введенное пользователем «имя». Затем записываются различные классы исключений для перехвата/обработки исключения. Если классы исключений (как показано в приведенном ниже коде) не совпадают, остальная часть кода будет запущена.

Вот последняя программа, которую мы рассмотрим

Когда пользователь нажимает клавишу ctrl -c, появляется следующий вывод, когда программа запрашивает имя пользователя. Оператор печати, созданный для исключения KeyboardInterrupt, печатается в выходных данных, когда пользователь нажимает ctrl-c, что является исключением пользовательского прерывания.

Когда пользователь нажимает клавишу ctrl -c, появляется следующий вывод

Когда пользователь нажимает клавишу ctrl-d и запрашивает имя пользователя, создается вывод, показанный ниже. Оператор печати, определенный внутри класса исключений EOF, отображается, когда пользователь нажимает кнопку ctrl-d, что означает конец файла. Это указывает, что если в коде обнаружено исключение, выполняется поиск соответствующего класса исключения и выполняется следующий блок.

Когда пользователь нажимает клавишу ctrl-d и запрашивает

Заключение

Исключение KeyboardInterrupt, то, как оно возникает и как оно обрабатывается в Python, описано в предыдущей статье. Исключение KeyboardInterrupt, как следует из его названия, представляет собой простое исключение, которое возникает, когда программа прерывается клавиатурой пользователя. Для любого программиста, новичка или опытного, очень важно понять каждую форму исключения, чтобы правильно с ними справиться и быстро создать программу (способную справиться с любой такой ситуацией).

Оцените статью
bestprogrammer.ru
Добавить комментарий