Skip to main content

Що таке помилка (error) у JavaScript?

Помилка (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Трасування стека (показує, де сталася помилка)

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.