What are the types of JavaScript program errors?

青灯夜游
Release: 2023-01-07 11:47:41
Original
2509 people have browsed it

JavaScript program error types are divided into: 1. Error; 2. EvalError; 3. RangeError; 4. ReferenceError (reference error); 5. SyntaxError (syntax error); 6. TypeError; 7. URIError.

What are the types of JavaScript program errors?

The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.

Error types in JavaScript

ECMA-262 defines 7 error types:

  • Error

  • EvalError

  • ##RangeError


  • ReferenceError


  • SyntaxError


  • ##TypeError

  • URIError

  • Among them, Error is the base type (the parent type of the other six types), and other types inherit from it. The Error type is rare and is generally used by browsers. thrown by the browser. This base type is mainly used by developers to throw custom errors.

1. SyntaxError (syntax error): 1.1 The variable name does not comply with the specification

var 1 // Uncaught SyntaxError: Unexpected 

number
var 1a // Uncaught SyntaxError: Invalid or unexpected token
Copy after login

1.2 Assigning values ​​to keywords

function = 5 // Uncaught SyntaxError: Unexpected token =
Copy after login

2. Uncaught ReferenceError: refers to a reference that does not exist The error occurred when using the variable. Assign a value to an object that cannot be assigned, such as the result of a function or Function assignment.


2.1 Reference to a non-existent variable

a(); // Uncaught ReferenceError: a is not 

defined
console.log(b); // Uncaught ReferenceError: b is not defined
Copy after login

2.2 Assign a value to an object that cannot be assigned

console.log("abc") = 1 // Uncaught 

ReferenceError: Invalid left-hand side in assignment
Copy after login

3. RangeError (Range Error): RangeError is an error that occurs when a valid range is exceeded. There are several main situations. The first is that the array length is a negative number. The second is that the method parameters of the Number object are out of range, and the function stack exceeds the maximum size.


3.1 The array length is a negative number

[].length = -5; // Uncaught RangeError: Invalid 

array length
Copy after login

3.2 The method parameter of the Number object is out of range

var num = new Number(12.34);
console.log(num.toFixed(-1)); // Uncaught RangeError: toFixed() digits argument must be 

between 0 and 20 at Number.toFixed
// 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0

-20.
Copy after login

4. TypeError: An error that occurs when a variable or parameter is not of the expected type. For example, using new string, Boolean and other primitive types and the calling object does not exist method will throw this error because the parameter of the new command should be a constructor.


4.1 Calling a non-existent method

123(); // Uncaught TypeError: 123 is not a 

function
var o = {};
o.run(); // Uncaught TypeError: o.run is not a function
Copy after login

4.2 The new keyword is followed by the basic type

var p = new 456(); // Uncaught TypeError: 456 

is not a constructor
Copy after login

5. URIError (URL error): The main reason is that the parameters of the related functions are incorrect.


decodeURI("%"); // Uncaught URIError: 

URI malformed at decodeURI
Copy after login
::: tip Reminder: Errors thrown when URI related parameters are incorrect, mainly involving encodeURI, decodeURI(), Six functions: encodeURIComponent(), decodeURIComponent(), escape() and unescape(). :::

6. EvalError eval() (function execution error): In JavaScript below ES5, when eval() When a function is not executed correctly, an evalError is thrown. For example The following situation:


var myEval = eval;
myEval("alert('call eval')");
需要注意的是:ES5以上的JavaScript中已经不再抛出该错误,但依然可以通过new关键字来自定义该类型

的错误提示。
Copy after login
::: warning Make good use of try-catch where you know that an error will occur somewhere and can be solved by modifying the code. It is not suitable to use try-catch. Or it is not suitable for errors caused by compatibility errors of different browsers, because it can be judged by The browser may determine whether this attribute and method exist in this browser to solve the problem. :::

new Error("出错了!");
new RangeError("出错了,变量超出有效范围!");
new TypeError("出错了,变量类型无效!");
Copy after login

The above code represents a new instance of the error object. The essence is to manually throw the error. As you can see, the constructor of the error object accepts a A parameter representing the error message (message).

Be familiar with these basic error types and you can quickly locate and solve the problem when an error occurs. [Recommended learning:

javascript advanced tutorial

]

The above is the detailed content of What are the types of JavaScript program errors?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template