Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Error

Базовый класс ошибок: создаётся и выбрасывается через throw.

Доступно с: ES1

Синтаксис

new Error(message, options)

Параметры

ПараметрТипОписание
messagestringНеобязательный. Понятное описание ошибки.
optionsobjectНеобязательный. Объект с полем cause — исходная причина ошибки.

Возвращаемое значение

ErrorОбъект ошибки со свойствами name, message, stack и cause.

Примеры

Выбросить и поймать ошибку:

try {
  throw new Error('Something went wrong');
} catch (error) {
  console.log(error.name);
  console.log(error.message);
}

Результат:

Error
Something went wrong

Собственный класс ошибки:

class ValidationError extends Error {
  constructor(field, message) {
    super(message);
    this.name = 'ValidationError';
    this.field = field;
  }
}
 
try {
  throw new ValidationError('email', 'Email is required');
} catch (error) {
  console.log(error instanceof ValidationError, error.field);
  console.log(String(error));
}

Результат:

true email
ValidationError: Email is required

Примечания

Выбрасывайте именно объекты Error, а не строки: у них есть stack — список вызовов, который показывает, где возникла ошибка.

См. также

  • try...catch — Перехватывает ошибки, чтобы программа не остановилась.
  • throw — Выбрасывает ошибку и прерывает выполнение функции.
  • TypeError — Ошибка «значение не того типа» — например, вызов метода у undefined.
  • Error.prototype.cause — Исходная причина ошибки — чтобы не потерять её при повторном выбросе.

В учебнике

  • Ошибки и try...catch — Обработка ошибок в JavaScript: блоки try, catch и finally, объект ошибки, оператор throw и встроенные типы ошибок.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.