search
HomeWeb Front-endFront-end Q&AWhat are the types of JavaScript program errors?

What are the types of JavaScript program errors?

Sep 08, 2021 pm 06:22 PM
javascriptError type

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

1.2 Assigning values ​​to keywords

function = 5 // Uncaught SyntaxError: Unexpected token =

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

2.2 Assign a value to an object that cannot be assigned

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

ReferenceError: Invalid left-hand side in assignment

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

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.

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

4.2 The new keyword is followed by the basic type

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

is not a constructor

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


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

URI malformed at decodeURI
::: 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关键字来自定义该类型

的错误提示。
::: 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("出错了,变量类型无效!");

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!

Statement
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
CSS: Can I use multiple IDs in the same DOM?CSS: Can I use multiple IDs in the same DOM?May 14, 2025 am 12:20 AM

No,youshouldn'tusemultipleIDsinthesameDOM.1)IDsmustbeuniqueperHTMLspecification,andusingduplicatescancauseinconsistentbrowserbehavior.2)Useclassesforstylingmultipleelements,attributeselectorsfortargetingbyattributes,anddescendantselectorsforstructure

The Aims of HTML5: Creating a More Powerful and Accessible WebThe Aims of HTML5: Creating a More Powerful and Accessible WebMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

Significant Goals of HTML5: Enhancing Web Development and User ExperienceSignificant Goals of HTML5: Enhancing Web Development and User ExperienceMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebdevelopmentanduserexperiencethroughsemanticstructure,multimediaintegration,andperformanceimprovements.1)Semanticelementslike,,,andimprovereadabilityandaccessibility.2)andtagsallowseamlessmultimediaembeddingwithoutplugins.3)Featur

HTML5: Is it secure?HTML5: Is it secure?May 14, 2025 am 12:15 AM

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5 goals in comparison with older HTML versionsHTML5 goals in comparison with older HTML versionsMay 14, 2025 am 12:14 AM

HTML5aimedtoenhancewebdevelopmentbyintroducingsemanticelements,nativemultimediasupport,improvedformelements,andofflinecapabilities,contrastingwiththelimitationsofHTML4andXHTML.1)Itintroducedsemantictagslike,,,improvingstructureandSEO.2)Nativeaudioand

CSS: Is it bad to use ID selector?CSS: Is it bad to use ID selector?May 13, 2025 am 12:14 AM

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5: Goals in 2024HTML5: Goals in 2024May 13, 2025 am 12:13 AM

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

What are the main areas where HTML5 tried to improve?What are the main areas where HTML5 tried to improve?May 13, 2025 am 12:12 AM

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft