Ошибки Python и встроенные исключения
Ошибки Python и встроенные исключения
В этом руководстве вы узнаете о различных типах ошибок и исключений, встроенных в Python. Они вызываются всякий раз, когда интерпретатор Python обнаруживает ошибки.
Видео:обработка исключений Python
При написании программы мы можем допустить определенные ошибки, которые приведут к ошибкам при попытке ее запустить. Программа Python завершает работу, как только обнаруживает необработанную ошибку. Эти ошибки можно разделить на два класса:
- Синтаксические ошибки
- Логические ошибки (исключения)
Синтаксические ошибки Python
Ошибка, вызванная несоблюдением правильной структуры (синтаксиса) языка, называется синтаксической ошибкой. или ошибка синтаксического анализа .
Давайте рассмотрим один пример:
01
Как показано в примере, стрелка указывает, где синтаксический анализатор столкнулся с синтаксической ошибкой.
Здесь мы можем заметить, что двоеточие 00
отсутствует в 18
заявление.
Логические ошибки Python (исключения)
Ошибки, возникающие во время выполнения (после прохождения синтаксической проверки), называются исключениями. или логические ошибки .
Например, они возникают, когда мы пытаемся открыть несуществующий файл (для чтения) (21
), попробуйте разделить число на ноль (33
) или попытаться импортировать несуществующий модуль (49
).
Всякий раз, когда возникают эти типы ошибок во время выполнения, Python создает объект исключения. При неправильной обработке он выводит трассировку этой ошибки вместе с некоторыми подробностями о том, почему эта ошибка произошла.
Давайте посмотрим, как Python обрабатывает эти ошибки:
10пре> <час>Встроенные исключения Python
Недопустимые операции могут вызывать исключения. В Python есть множество встроенных исключений, которые вызываются при возникновении соответствующих ошибок. Мы можем просмотреть все встроенные исключения, используя встроенный
59
работать следующим образом:28
67
вернет модуль встроенных исключений, функций и атрибутов.74
позволяет нам отображать эти атрибуты в виде строк.Некоторые из распространенных встроенных исключений в программировании на Python вместе с ошибками, которые их вызывают, перечислены ниже:
Исключение | Причина ошибки |
---|---|
89 | Вызывается, когда 94 оператор терпит неудачу. |
106 | Вызывается при сбое присвоения атрибута или ссылки. |
119 | Вызывается, когда 125 функция достигает конца файла. |
139 | Вызывается при сбое операции с плавающей запятой. |
146 | Поднять, когда 157 генератора вызывается метод. |
162 | Вызывается, когда импортированный модуль не найден. |
179 | Вызывается, когда индекс последовательности выходит за допустимые пределы. |
189 | Вызывается, когда ключ не найден в словаре. |
198 | Вызывается, когда пользователь нажимает клавишу прерывания (201 или 211 ). |
225 | Вызывается, когда операции не хватает памяти. |
239 | Вызывается, когда переменная не найдена в локальной или глобальной области видимости. |
244 | Поднят абстрактными методами. |
255 | Возникает, когда работа системы вызывает системную ошибку. |
264 | Возникает, когда результат арифметической операции слишком велик для представления. |
277 | Возникает, когда для доступа к референту со сборщиком мусора используется прокси-сервер со слабой ссылкой. |
287 | Возникает, если ошибка не подпадает ни под какую другую категорию. |
290 | Привлечено 304 чтобы указать, что итератор больше не возвращает элемент. |
314 | Вызывается синтаксическим анализатором при обнаружении синтаксической ошибки. |
326 | Возникает при неправильном отступе. |
338 | Поднимается, когда отступ состоит из несовместимых табуляций и пробелов. |
347 | Вызывается, когда интерпретатор обнаруживает внутреннюю ошибку. |
353 | Привлечено 366 функция. |
379 | Вызывается, когда функция или операция применяется к объекту неправильного типа. |
383 | Вызывается, когда делается ссылка на локальную переменную в функции или методе, но к этой переменной не привязано ни одно значение. |
397 | Возникает при возникновении ошибки кодирования или декодирования, связанной с Unicode. |
406 | Возникает, когда во время кодирования возникает ошибка, связанная с Unicode. |
414 | Возникает, когда во время декодирования возникает ошибка, связанная с Unicode. |
420 | Возникает, когда во время перевода возникает ошибка, связанная с Unicode. |
432 | Вызывается, когда функция получает аргумент правильного типа, но неправильное значение. |
442 | Вызывается, когда второй операнд деления или операции по модулю равен нулю. |
При необходимости мы также можем определить собственные исключения в Python. Чтобы узнать больше о них, посетите страницу Пользовательские исключения Python.
Мы можем обрабатывать эти встроенные и определяемые пользователем исключения в Python, используя 451
, 462
и 470
заявления. Чтобы узнать больше о них, посетите Python операторы try, кроме и finally.
Python
- Ключевые слова и идентификаторы Python
- Оператор Python, отступы и комментарии
- Переменные Python, константы и литералы
- Преобразование типов Python и приведение типов
- Ввод, вывод и импорт Python
- Глобальные, локальные и нелокальные переменные Python
- Числа Python, преобразование типов и математика
- Управление каталогами и файлами Python
- Пользовательские исключения Python
- Как получить текущую дату и время в Python?