Что такое слово Python и как правильно его писать

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

  1. Синтаксические ошибки
  2. Логические ошибки

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

Синтаксические ошибки в Python

Подобная ошибка появляется из-за неверного применения синтаксиса языка. Приведем пример такой ошибки:

for i in range(0,10) print(i) Результат: SyntaxError: invalid syntax

Естественно, мы нарушили структура языка, а именно не поставили двоеточие в конце цикла for.

Логические ошибки в Python

Логические ошибки появляются в случае отсутствия синтаксических недочетов. Это означает, что интерпретатор Python сначала scrutinizes ваш код на выявление синтаксических проблем. Существует множество видов логических ошибок, например:

  1. Если мы пытаемся открыть файл для чтения которого не существует, то словим ошибку FileNotFoundError
  2. Попытаемся разделить на ноль, получим ZeroDivisionError
  3. Попытаемся импортировать модуль, которого не существует, получим ImportError

И это лишь небольшая часть, Python не позволит нам разрушить мир, попытавшись разделить число на ноль=). Всякий раз, когда Python сталкивается с необработанной ошибкой, он сообщает нам о том, что что-то пошло не так по той или иной причине. Рассмотрим пример обработки ошибок.

100 / 0 Результат: Traceback (последний вызов был наименее успешным): Файл "", строка 301, в runcode Файл "", строка 1, в ZeroDivisionError: деление на ноль   open("filenot.txt") Результат: Traceback (последний вызов был наименее успешным): Файл "", строка 301, в runcode Файл "", строка 1, в FileNotFoundError: [Errno 2] Нет такого файла или каталога: ‘filenot.txt’

Исключения Python

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

ZeroDivisionError Ошибка деления на ноль.
ИсключенияПричина
AssertionErrorПроисходит при неудачном выполнении оператора assert.
AttributeErrorВозникает, когда атрибут или ссылка не могут быть присвоены.
EOFErrorВызывается, когда функция input() достигает конца файла.
FloatingPointErrorВозникает при сбое в вычислениях с плавающей запятой.
GeneratorExitВызывается при завершении работы генератора через метод close().
ImportErrorПроисходит, если не удается найти импортируемый модуль.
IndexErrorВозникает, когда индекс выходит за пределы последовательности.
KeyErrorВозникает в случае отсутствия ключа в словаре.
KeyboardInterruptВызывается при прерывании с помощью клавиатуры.
MemoryErrorПроисходит, когда не хватает памяти для выполнения операции.
NameErrorВозникает, если переменная не найдена в текущей или глобальной области видимости.
NotImplementedErrorСвыше абстрактных методов.
OSErrorВызывается при возникновении ошибки, связанной с операционной системой.
OverflowErrorПроисходит, если результат арифметической операции превышает допустимые пределы.
ReferenceErrorВызывается при доступе к объекту, который был собран сборщиком мусора, через слабую ссылку.
RuntimeErrorПроисходит, когда возникает ошибка, не попадающая под другие категории.
StopIterationВозникает при вызове функции next(), сигнализирующей об отсутствии элементов.
SyntaxErrorОшибка синтаксиса.
IndentationErrorВозникает при нарушении правил отступов.
TabErrorПроисходит из-за смешивания табуляций и пробелов для отступов.
SystemErrorОшибка, возникающая в интерпретаторе.
SystemExitВызывается при использовании функции sys.exit().
TypeErrorОшибка, связанная с несовпадением типов данных.
UnboundLocalErrorВозникает, когда происходит ссылка на локальную переменную, которая не была инициализирована.
UnicodeErrorОшибка, связанная с кодировкой символов.
UnicodeEncodeErrorОшибка кодирования символов.
UnicodeDecodeErrorОшибка декодирования символов.
UnicodeTranslateErrorОшибка кодирования символов.
ValueErrorКогда функция получает аргумент с недопустимым значением.

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

В одной из недавних статей мы обсуждали обработку ошибок с использованием конструкции try…except…finally; о них можно прочитать подробнее в статье, посвященной обработке исключений.

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