По

Помилки у JavaScript

19 вправ

Про концепцію Помилки

Помилки варто повідомляти, коли в програмі чи у фрагменті коду щось пішло не так або трапилося щось несподіване.

Це обʼєкти JavaScript.

Головна властивість цього обʼєкта - message:

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

За допомогою синтаксису throw можна кинути помилку.

throw new Error('Oops');

Коли помилку кинуто, поточне виконання зупиняється й відновлюється в першому блоці catch у стеку викликів.

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

Як і з будь-яким класом у JavaScript, підкласи можуть успадковуватися від Error, щоб створювати власні помилки за допомогою ключового слова extends. Синтаксис instanceof перевіряє, чи є спіймана помилка екземпляром конкретного підкласу Error.

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

Типи помилок

Крім обʼєкта Error, існують й інші вбудовані обʼєкти помилок. Дізнатися більше про них можна тут

Власні помилки

Також можна визначити власний тип помилки, створивши клас, що успадковується від одного з вбудованих типів помилок

class MyCustomError extends Error {}

Кидання не-помилок

Хоча синтаксис throw зазвичай використовують, щоб кинути обʼєкт помилки, JavaScript гнучкий і дозволяє кинути string, null або будь-який примітивний тип.

Стек викликів помилки

Хоча це не є стандартом у JavaScript, більшість середовищ JavaScript реалізують властивість stack в обʼєктах помилок, що дає змогу отримати стек викликів помилки, яку було кинуто.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Помилки