Помилки в програмах бувають різних типів:
  • синтаксичні помилки (англ. syntax error);
  • помилки часу виконання (англ. run-time error);
  • логічні (алгоритмічні) помилки.
Інтерпретатор Python виявляє два типи помилок — синтаксичні помилки і винятки (виняткові ситуації).
Процес усунення помилок називають налагодженням програмного коду. 
Синтаксичні помилки
Синтаксичні помилки в Python виникають тоді, коли програма порушує правила мови — тобто Python не може зрозуміти, що саме ви намагаєтесь записати. Такі помилки виявляються ще до виконання програми, під час її аналізу інтерпретатором.

Найпоширеніші синтаксичні помилки:
  • Пропущені дужки, двокрапки, лапки.
  • Неправильні відступи.
  • Невірний порядок символів, неправильні оператори.
  • Неправильно записані ключові слова чи їхнє змішування з іменами змінних.
Зверни увагу!
Якщо програма містить синтаксичну помилку, вона не запуститься взагалі.
Приклад:
У команді введення не вистачає лапок після текстової константи. При спробі виконати програму з’являється повідомлення про помилку, місце помилки виділяється червоним кольором (рис.1).

35.png
Рис.1
Винятки
Помилку, яка не є синтаксичною і спричиняє аварійне припинення виконання програми, називають винятком.
Після запуску програми на виконання у вікні консолі буде виведено номер рядка коду, в якому виявлено помилку, команду, яка спричинила аварійне припинення виконання програми, тип винятку і опис помилки.

Виняток NameError виникає під час спроби використати змінну, якій не було присвоєно значення (рис. 2). Із точки зору інтерпретатора Python це означає, що такої змінної не існує.

36.png
Рис.2

Виняток ZeroDivisionError виникає, якщо в програмі трапилася спроба ділення на нуль (рис.3).
37.png
Рис.3

ValueError — помилка значення: наприклад, рядок не можна перетворити на ціле число (рис.4).
38.png
Рис.4

TypeError — помилка типу, тобто операцію застосовано до об’єкта невідповідного типу (рис.5).
39.png
Рис.5
Перехоплення винятків
Команда try-except використовується для обробки винятків, які можуть виникнути під час виконання програми. Вона дає змогу продовжити виконання програми навіть після виникнення помилки, замість того щоб аварійно його завершити.
Синтаксис неповної команди try-except:
try:
          <блок коду, у якому перехоплюється виняток>
except <назва винятку, який перехоплюється>:
         <блок коду, який виконується в разі виникнення винятку> 
Схема виконання конструкції try-except
62.png
Рис.6
Приклад:
На рис. 7 проілюстровано перехоплення винятку «Ділення на нуль».
40.png
Рис.7

41.png
Рис.8. Результат виконання команди, якщо а = 5, b = 4.

42.png
Рис.9. Результат виконання команди, , якщо а = 5, b = 0.
У блоці except можна не вказувати конкретний тип винятку. У такому разі перехоплюватимуться винятки майже всіх типів (рис.9). 
43.png
Рис.10
Логічні помилки
Логічні помилки — це помилки, що виникають через неправильний алгоритм або неправильне логічне мислення програміста.
Програма запускається без помилок, але результати її роботи неправильні.
Приклад:
Замість збільшення числа на 1:
a = a + 1
випадково написано:
a = a + 2
Синтаксично команда правильна, але логіка порушена, тому програма дає хибний результат.
Чому їх важко знайти?
  • Інтерпретатор не помічає таких помилок.
  • Програма працює, але дає неправильні відповіді.
  • Помилка прихована всередині логіки алгоритму або математичної моделі.
Як виявити логічні помилки?
Для цього використовують тестування — перевірку програми на різних наборах даних.
Тестовий набір включає:
  • Вхідні дані
  • Очікуваний результат
Порівнюючи фактичний результат роботи програми з очікуваним, знаходять розбіжності.
Причини логічних помилок:
  • помилки в алгоритмі;
  • неправильні обчислення;
  • недоліки математичної моделі;
  • неповне врахування всіх випадків.
Тестування допомагає: переконатися, що програма працює коректно у всіх можливих ситуаціях; знаходити й виправляти логічні помилки; підвищувати надійність програмного коду.
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2025.