Encodera

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

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

Справочник JavaScript

throw

Выбрасывает ошибку и прерывает выполнение функции.

Доступно с: ES3

Синтаксис

throw expression

Примеры

Проверка аргумента:

function divide(a, b) {
  if (b === 0) {
    throw new Error('Division by zero');
  }
  return a / b;
}
 
try {
  console.log(divide(10, 2));
  console.log(divide(1, 0));
} catch (error) {
  console.log(error.message);
}

Результат:

5
Division by zero

Повторный выброс ошибки, которую обрабатывать не нужно:

function parse(text) {
  try {
    return JSON.parse(text);
  } catch (error) {
    if (error instanceof SyntaxError) return null;
    throw error;
  }
}
 
console.log(parse('{bad'));

Результат:

null

Примечания

Выбросить можно что угодно, даже строку, но принято выбрасывать объекты Error или его наследников: у них есть name, message и stack.

См. также

  • try...catch — Перехватывает ошибки, чтобы программа не остановилась.
  • Error — Базовый класс ошибок: создаётся и выбрасывается через throw.
  • Error.prototype.cause — Исходная причина ошибки — чтобы не потерять её при повторном выбросе.

В учебнике

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

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

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