码迷,mamicode.com
首页 > 其他好文 > 详细

小tips:ECMA-262定义的7种错误类型

时间:2021-02-20 12:31:47      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:开发   define   构造   使用   iss   encodeuri   state   信息   导致   

七种错误类型如下:

  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError
其中,Error是基类型(其他六种类型的父类型),其他类型继承自它。Error类型很少见,一般由浏览器抛出的。这个基类型主要用于开发人员抛出自定义错误。

new Array(-2); // 抛出RangeError(范围)
// 错误信息为:RangeError: invalid array length(无效的数组的长度)
// RangeError错误一般在数值超出相应范围时触发
 
var box = a;  // 抛出ReferenceError(引用)
// 错误信息为:ReferenceError: a is not defined(a是没有定义的)
// ReferenceError通常访问不存在的变量产生这种错误
 
a $ b;   // 抛出SyntaxError(语法)
// 错误信息为:SyntaxError: missing ; before statement(失踪;语句之前)
// SyntaxError通常是语法错误导致的
 
new 10;   // 抛出TypeError(类型 )
// 错误信息为:TypeError: 10 is not a constructor(10不是一个构造函数)
// TypeError通常是类型不匹配导致的
 
EvalError类型表示全局函数eval()的使用方式与定义的不同时抛出,但实际上并不能产生这个错误,所以实际上碰到的可能性不大。

在使用encodeURI()和decodeURI()时,如果URI格式不正确时,会导致URIError错误。但因为URI的兼容性非常强,导致这种错误几乎见不到。
alert(encodeURI(‘某某某‘));

 

小tips:ECMA-262定义的7种错误类型

标签:开发   define   构造   使用   iss   encodeuri   state   信息   导致   

原文地址:https://www.cnblogs.com/moqiutao/p/14415729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!