| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- /**
 
-  * @fileoverview Rule to restrict what can be thrown as an exception.
 
-  * @author Dieter Oberkofler
 
-  */
 
- "use strict";
 
- const astUtils = require("../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." });
 
-                     }
 
-                 }
 
-             }
 
-         };
 
-     }
 
- };
 
 
  |