Интерпретируйте обратную связь:
Просмотр некоторых трассировок может дать лучшую интерпретацию знаний, которые они предоставляют, чтобы вы могли что-то из этого извлечь. Давайте посмотрим на интерпретацию того, как базовое исключение может быть отслежено. Вот пример простого кода, генерирующего ошибку трассировки при выполнении Spyder (Python 3).
Ниже приведено изображение с отслеживанием ошибок. Первая строка показывает расположение файла. Вот некоторые спецификации для всех линий, использующих цвета.
Белый: Traceback (последний вызов последним) - это оператор трассировки. С другой стороны, белая часть последней строки показывает соответствующую информацию об ошибке.
Зеленый: При сообщении имени файла и его местоположения возникает ошибка.
Синий: Показывает номер строки файла, в котором произошла ошибка.
Желтый: Отображает фактическую строку, в которой возникло исключение.
Красный: Тип ошибки.
Вот несколько важных ошибок в трассировке:
NameError
IndexError
KeyError
TypeError
valueError
ImportError / ModuleNotFound
Ошибка имени:
Всякий раз, когда вы хотите интерпретировать переменную, которая не была указана в коде, появляется NameError. Вот простой пример трассировки NameError. У нас есть переменная 'номер' определено с некоторым значением, а в Распечатать заявление, мы распечатали 'онемевший', который не определен нигде в коде. Запустим этот код и проверим, что происходит.
Вы можете видеть, что произошла трассировка NameError, поскольку мы не определили переменную numb, поэтому как ее можно распечатать. Вот почему эта программа показывает ошибку NameError и дополняет ее дополнительной информацией в последней строке с белым и красным текстом. Желтый текст показывает точный код ошибки.
Ошибка индекса:
Ошибка IndexError возникает, когда в коде определена недоступная серия. Мы определили список названный 'новый' имея 5 индексов с некоторыми ценностями в нем. После этого мы должны указать команду печати для вывода значения в индекс номер 9.
Когда мы выполняем этот код, он сгенерирует IndexError, определяющий индекс вне допустимого диапазона. Поскольку мы определили список из 5 индексов, поэтому напечатанный номер индекса, равный 9, недоступен, потому что он не входит в наш диапазон.
Ключевая ошибка:
Python генерирует ключевую ошибку, когда вы пытаетесь достичь ключ который не определен или нанесены на карту, особенно с Словарь. Это больше похоже на IndexError. Итак, давайте посмотрим на простой пример словаря с именем 'случайный' с двумя определенными в нем ключами с некоторыми значениями, присвоенными этим ключам. В следующей строке мы напечатали ключ с именем 'А' в заявлении о печати.
ой! У нас есть трассировка KeyError. Это связано с неправильным ключом, указанным в операторе печати, который не определен в словаре. Можно сделать ошибку, указав заглавную буквенную клавишу, в то время как в словаре определена строчная буквенная клавиша.
Тип ошибки:
TypeError определяется как исключение, которое возникает, когда некоторая операция или метод размазаны по неподходящий тип объекта или переменной. У нас есть пример простой переменной, принимающей два значения, в то время как эта строка добавляет оба значения. Первое значение - это строковый тип, а второе - целочисленный тип. Оператор печати печатает результат добавления.
Когда этот код выполняется, возникает исключение. Это исключение связано с неправильным типом объединяемого объекта. Уточняется, что вы не можете добавить переменную строкового типа с переменной целочисленного типа.
Ошибка значения:
Ошибка значения определяется как исключение, которое возникает только тогда, когда некоторые встроенный метод берет аргумент правильного типа но Неверное значение в этом. Давайте посмотрим на небольшой пример. Мы берем встроенный метод int () с некоторым строковым значением в операторе печати.
Когда вы выполняете этот однострочный код, он генерирует ValueError, потому что мы используем функцию целочисленного типа, давая ей строковое значение для выполнения. Вот почему он покажет, что функция int () имеет недопустимое значение в нем.
С другой стороны, если вы дадите ему дробное значение, оно преобразует его в целое число.
Этот код выводит 11, потому что он принимает только целую часть, а десятичная часть полностью игнорируется.
Ошибка импорта / модуль не найден:
Иногда вам нужно Импортировать некоторые пакеты или модули в вашем коде Python, чтобы использовать через них специальные функции. Вы найдете трассировку ImportError, когда в коде содержится некоторая ошибка в отношении оператора Import. Эта ошибка трассировки возникает, когда вы не в состоянии к найти конкретный модуль или что-то из пакета. Здесь мы импортировали два модуля, 'пип' а также 'Ява', в нашем коде.
При выполнении этого кода будет выполнена трассировка ModuleNotFoundError. Это связано с тем, что импортированный модуль java не поддерживается библиотекой python. С другой стороны, он не создает исключения при импорте модуля pip, потому что это модуль, поддерживаемый Python.
Заключение:
Трассировка Python предоставляет отличные знания, которые помогут вам выяснить, что идет не так в коде. Независимо от того, делаете ли вы это впервые или просто не понимаете, что делает, генерация трассировки может быть немного сложной. Чтобы стать более сильным программистом на Python, важно знать, какие детали дает трассировка Python.