Sha256: a8f47c720115cb5f96dfd74001f85ec004bb360c47aea5b12d8b74a15806191d
Contents?: true
Size: 1.14 KB
Versions: 43
Compression:
Stored size: 1.14 KB
Contents
/** * @fileoverview Rule to restrict what can be thrown as an exception. * @author Dieter Oberkofler */ "use strict"; const astUtils = require("../util/ast-utils"); //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { meta: { docs: { description: "disallow throwing literals as exceptions", category: "Best Practices", recommended: false, url: "https://eslint.org/docs/rules/no-throw-literal" }, schema: [] }, create(context) { return { ThrowStatement(node) { if (!astUtils.couldBeError(node.argument)) { context.report({ node, message: "Expected an object to be thrown." }); } else if (node.argument.type === "Identifier") { if (node.argument.name === "undefined") { context.report({ node, message: "Do not throw undefined." }); } } } }; } };
Version data entries
43 entries across 43 versions & 1 rubygems