Коли щось не так

Помилка — це не катастрофа. Це Yu каже тобі, де він зупинився і що саме не зрозумів. У Студії повідомлення з'являється в терміналі, а саме місце підкреслюється просто в коді.

Кожна помилка має три частини: рядок, у якому вона сталася; сам рядок із стрілочками під місцем проблеми; іноді підказку, що, мабуть, малося на увазі.

Невідома назва

Найчастіша помилка — одруківка в назві команди.

скаж("Привіт")
Відкрити в Студії
Вивід
Помилка в рядку 1: невідома назва «скаж»
  1 | скаж("Привіт")
    | ^^^^
  Можливо, ти мав на увазі «скажи»?

Останній рядок — підказка. Yu порівняв назву з тими, які знає, і знайшов найсхожішу.

Незакрита лапка

Текст починається лапкою і лапкою ж закінчується. Якщо другої немає, Yu читає текст до кінця рядка й не знаходить пари.

скажи("Привіт)
Відкрити в Студії
Вивід
Помилка в рядку 1: текст не закрито лапками "
  1 | скажи("Привіт)
    |       ^^^^^^^^

Забутий відступ

Після двокрапки Yu чекає блок із відступом. Без відступу він не розуміє, що саме належить умові.

якщо 5 > 3:
скажи("Так")
Відкрити в Студії
Вивід
Помилка в рядку 2: тут потрібно: блок з відступом на наступному рядку
  2 | скажи("Так")
    | ^^^^^

Відступ — чотири пробіли. Студія ставить їх сама, коли ти натискаєш Enter після двокрапки.

Ділення на нуль

Деякі помилки видно лише під час роботи програми: рядки правильні, а дія неможлива.

скажи(10 / 0)
Відкрити в Студії
Вивід
Помилка в рядку 1: ділення на нуль
  1 | скажи(10 / 0)
    |       ^^^^^^

Як читати помилку

Спочатку подивись на номер рядка й на стрілочки: вони показують точне місце. Потім прочитай саме повідомлення. Якщо є підказка — найчастіше вона й є відповіддю. І пам'ятай: помилка зупиняє програму там, де її помітили, а причина іноді на рядок вище.

Спробуй сам

  1. Знайди помилку й виправ програму скажи("Привіт".
Показати відповідь

Забули закрити дужку.

скажи("Привіт")
Відкрити в Студії
Вивід
Привіт
  1. Ця програма мала друкувати 1, 2, 3, але Yu показує помилку. Виправ її.
для i від 1 до 3:
скажи(i)
Відкрити в Студії
Вивід
Помилка в рядку 2: тут потрібно: блок з відступом на наступному рядку
  2 | скажи(i)
    | ^^^^^
Показати відповідь

Рядку всередині циклу бракує відступу.

для i від 1 до 3:
    скажи(i)
Відкрити в Студії
Вивід
1
2
3