Що таке помилка?
У мовах програмування, якщо ми виконуємо якийсь код недійсним способом, виконання програми буде зупинено з повідомленням, і це повідомлення називається помилкою або винятком. Існують певні типи помилок у мові програмування через різні причини. Деякі з них такі:
AssertionError:
Цей тип помилки виникає, коли умови твердження або оператори не виконуються в коді.
ImportError:
Ця помилка виникає, коли ми імпортуємо якийсь модуль у файл і якщо цей модуль не існує.
IndexError:
Це відбувається, коли для будь-якої послідовності її індекс виходить за межі діапазону.
KeyError:
Ця помилка виникає в Python, коли ми не можемо знайти жодного ключа в словнику.
NameError:
Ця помилка може виникнути, коли ми не знаходимо жодної змінної в локальній чи глобальній області.
Помилка виконання:
Ця помилка виникатиме, якщо помилку не можна віднести до жодного типу.
коли починається q2
IndentationError:
Якщо ми використовуємо неправильний відступ у коді Python, виникне IndentationError.
Системна помилка:
Коли є внутрішня помилка, інтерпретатор викличе SystemError.
UnicodeError:
Коли виникає помилка кодування або декодування, пов’язана з Unicode, і UnicodeError буде викликано.
ValueError:
Якщо у функції ми передаємо правильний аргумент відповідно до типу даних, але значення не є правильним, тоді помилка, що сталася, називається ValueError.
ZeroDivisionError:
Як ми знаємо, в математиці ми не можемо ділити будь-яке число на нуль, тому що результат прагне до нескінченності. Отже, якщо ми написали будь-який оператор щодо ділення на нуль або за модулем на нуль, тоді виникне помилка ZeroDivisionError.
EOFError:
Коли ми використовуємо функцію input(), щоб отримати вхідні дані з файлу, і ми досягаємо кінця файлу, тоді ця помилка буде викликана, щоб вказати, що ми досягли кінця файлу, і тепер ми не можемо отримати будь-який введення з файлу.
Ця стаття в основному присвячена AttributeError.
Що таке AttributeError?
Ця помилка виникає в програмі, коли в призначенні атрибутів виникає помилка кондиціонування. Наприклад, якщо ми присвоїмо цілочисельній змінній деяке значення і спробуємо використати будь-яку рядкову функцію з цієї змінної, це викличе AttributeError.
Ми можемо зрозуміти причину AttributeError у Python на наступних прикладах:
приклад 1:
Коли ми застосовуємо функцію до іншого типу даних, що неможливо
a=15 a.append('javatpoint')
Вихід:
Пояснення:
У наведеному вище коді ми маємо одну цілочисельну змінну, і ми ініціалізували її значенням 15. Тепер, якщо ми використовуємо функцію append для змінної a, тоді вона видасть AttributeError, який говорить, що немає атрибута append у цілочисельному типі даних.
Приклад 2:
Є ймовірність AttributeError через неправильне написання атрибута.
бики проти вола
string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string)
Вихід:
Пояснення:
У наведеному вище коді ми маємо атрибут string, і ми застосовуємо атрибут fst, тому буде AttributeError, що цей атрибут не існує для змінної.
Приклад 3:
Ми можемо отримати AttributeError, якщо спробуємо створити неправильне посилання для будь-якої змінної класу.
class Javatpoint(): def __init__(self): self.var1 = 'This is for JavatPoint' obj = Javatpoint() print(obj.var1) print(obj.var2)
Вихід:
Пояснення:
У наведеному вище коді ми маємо клас і змінну з іменем var1. Ми створюємо об’єкт класу та помилково посилаємося на неправильну змінну var2 цього класу, яка навіть не існує, тому обов’язково виникне AttributeError.
Рішення для усунення помилки чи винятку:
У Python або в будь-якій іншій мові програмування ми можемо використовувати обробку винятків або помилок за допомогою операторів try і exception.
Приклад 4:
class Javatpoint(): def __init__(self): self.var1 = 'This is for javatpoint' obj = Javatpoint() try: print(obj.var1) print(obj.var2) except AttributeError: print('There is no such attribute')
Вихід:
Пояснення:
У наведеному вище коді ми маємо клас і змінну з іменем var1. У операторі try ми намагаємося посилатися на var1 і var2. Ми зможемо розіменувати var1 і надрукуємо оператор для нього, але ми отримаємо AttributeError для посилання на var2. Отже, програма зайде в блок крім, і ми надрукуємо оператор, який написаний тільки для умови помилки.