Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке помилка (error) у JavaScript?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Помилка (error)** у JavaScript - це об'єкт, який представляє проблему, що виникла під час виконання програми. Коли JavaScript стикається із ситуацією, яку не може обробити, він створює об'єкт помилки і "кидає" (throw) його. **Ключове:** якщо помилку не "спіймати" (catch), виконання коду перерветься.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Помилка (error)** у JavaScript - це об'єкт, який представляє проблему, що виникла під час виконання програми. Коли JavaScript стикається із ситуацією, яку не може обробити (наприклад, ділення на нуль, звернення до неіснуючої змінної, неправильний синтаксис тощо), він створює об'єкт помилки і "кидає" (throw) його. Якщо помилку не "спіймати" (catch), виконання коду перерветься. --- ### Основна ідея Помилки потрібні для **контролю непередбачених ситуацій** - щоб програма не "падала" несподівано, а могла обробити проблему і продовжити роботу коректно. --- ### Приклад виникнення помилки ```javascript console.log(a); // ReferenceError: a is not defined ``` Тут змінна `a` не оголошена, тому інтерпретатор створює і викидає помилку `ReferenceError`. --- ### Обробка помилок (try...catch) Щоб програма не переривалася, помилки можна **обробляти** за допомогою конструкції `try...catch`: ```javascript try { let result = JSON.parse("invalid JSON"); } catch (error) { console.log("Сталася помилка:", error.message); } ``` У цьому прикладі програма не впаде, а просто виведе повідомлення: ```javascript Сталася помилка: Unexpected token i in JSON at position 0 ``` --- ### Основні типи помилок | Тип помилки | Коли виникає | |---|---| | **ReferenceError** | Звернення до неіснуючої змінної | | **TypeError** | Неправильний тип даних (наприклад, виклик не-функції) | | **SyntaxError** | Помилка в синтаксисі коду | | **RangeError** | Вихід значення за допустимий діапазон | | **EvalError** | Неправильне використання `eval()` | | **URIError** | Помилка під час роботи з функціями кодування URI (`decodeURI`, `encodeURI`) | --- ### Створення власних помилок Можна самостійно створити і викинути помилку за допомогою `throw`: ```javascript function divide(a, b) { if (b === 0) { throw new Error("Ділення на нуль неможливе!"); } return a / b; } try { divide(5, 0); } catch (err) { console.log(err.message); // Ділення на нуль неможливе! } ``` --- ### Ключові методи і властивості об'єкта Error | Властивість | Опис | |---|---| | `name` | Ім'я типу помилки (`TypeError`, `ReferenceError` тощо) | | `message` | Опис помилки | | `stack` | Трасування стека (показує, де сталася помилка) |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.