Avoid throwing non-Error values (throw-error)

October 21, 2020 ยท View on GitHub

This rule forbids throwing or rejecting values that are neither Error nor DOMException instances.

Rule details

Examples of incorrect code for this rule:

throw "Kaboom!";
const promise = Promise.reject("Kaboom!");
const promise = new Promise((resolve, reject) => {
  reject("Kaboom!");
});

Examples of correct code for this rule:

throw new Error("Kaboom!");
throw new RangeError("Kaboom!");
throw new DOMException("Kaboom!");
const promise = Promise.reject(new Error("Kaboom!"));
const promise = new Promise((resolve, reject) => {
  reject(new Error("Kaboom!"));
});

Options

This rule has no options.