javascript错误类型

ECMA-262 定义了下列 7 种错误类型,简单说明如下:

  1. Error:普通异常。通常与 throw 语句和 try/catch 语句一起使用。 利用属性 name 可以声明或了 解异常的类型,利用 message 属性可以设置和读取异常的详细信息。
  2. EvalError: 在不正确使用 eval()方法时抛出。
  3. SyntaxError:抛出语法错误。
  4. RangeError:在数字超出合法范围时抛出。
  5. ReferenceError:在读取不存在的变量时抛出 。
  6. TypeError:当一个值的类型错误时抛出该异常。
  7. URLError:由 URL 的编码和解码方法抛出。

其中 Error 是基类,其他错误类型都继承自该类型。因此,所有错误类型共享了一组相同的属性, 错误对象中的方法全是默认的对象方法。 Error 类型的错误很少见,如果有也是浏览器抛出的,这个基类 型的主要目的是供开发人员抛出自定义错误。

EvalError 类型的错误会在使用 eval()函数发生异常时被抛出。

//如果没有把 eval()当成函数调用,就会抛出该类型错误。
new eval();         //抛出 EvalError
eval=foo;           //抛出 EvalError

RangeError 类型的错误会在数值超出相应范围时触发。 JavaScript 中经常会出现这种范围错误。

//在定义数组时,如果指定了数组不支持的项数,如-20 或 Number.MAX VALUE,就会 触发这种错误。
var itemsl = new Array(-20);                 //抛出RangeError
var itemsl = new Array (Number.MAX_VALUE);   //抛出RangeError

在找不到对象的情况下,会发生 ReferenceError。

//在访问不存在的变量时,就会发生这种错误。
var obj = x;          //在 x 并未声明的情况下抛出 ReferenceError

SyntaxError 表示语法类型错误, 当把语法错误的 JavaScript 字符串传入 eval()函数时,就会导致此类错误。

eval ("a ++ b")         //抛出 SyntaxError

Type Error类型在 JavaScript 中会经常用到,在变量中保存着意外的类型时,或者在访问不存在的方法时,都会导致这种错误。错误的原因虽然多种多样,但归根结底还是由于在执行特定类型的操作时, 变量的类型并不符合要求所致。

//最常发生类型错误的情况,就是传递给函数的参数事先未经检查,结果传入类型与预期类型不相符。
var o = new 10;                             //抛出 TypeError
alert ("name" in true);                     //抛出 TypeError
Function.prototype.toString.call (’name ’); //抛出 TypeError

在使用 encodeURL()或 decodeURL()时,如果 URL 格式不正确,就会导致 URIError 错误。这种错误也很少见,因为这两个函数的容错性非常高。

原文地址:https://www.cnblogs.com/lanshu123/p/10422601.html

时间: 2024-08-01 08:02:21

javascript错误类型的相关文章

javascript错误类型————呱呱二号

1.SyntaxError(语法错误) 解析代码时发生的语法错误 eg:var 1a; Uncaught SyntaxError: Unexpected number 2.ReferenceError(引用错误) a.引用了一个不存在的变量 eg: console.log(a); Uncaught ReferenceError: a is not defined b.将变量赋值给一个无法被赋值的对象 eg:console.log()= 1; Uncaught ReferenceError: In

第一百二十三节,JavaScript错误处理与调试

JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑.ECMAScript第3版为了解决这个问题引入了try...catch和throw语句以及一些错误类型,让开发人员更加适时的处理错误. 一.浏览器错误报告 随着浏览器的不断升级,JavaScript代码的调试能力也逐渐变强.IE.Firefox.Safari.

javascript错误处理(转)

1.onerror事件处理函数onerror事件处理函数是第一个用来协助javascript处理错误的机制.页面上出现异常时,error事件便在window对象上触发.例如: <html> <head> <title>OnError Example</title> <script type="text/javascript"> window.onerror = function () { alert("An erro

JavaScript 的类型

JavaScript 对象 除了数字.字符串.布尔值.null.undefined(都不可变)这5种简单类型,其他都是对象. javascript 存在2套类型系统,一套是元类型,用typeof可以检验,有六种:"number"."string"."boolean"."object"."function"."undefined". 另一套是对象类型系统,是元类型object的一个分支.

JavaScript之基础-12 JavaScript 错误处理

一.JavaScript 错误处理 错误处理概述 - 错误,指程序中的非正常运行状态,在其它编程语言中称为"异常"或"错误".解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息 - ECMAScript定义了六种类型的错误(EvalError,RangeError,REferenceError,SyntaxError,TypeError,URIError).除此之外,还可以使用Error构造方法创建自定义的Error对象,并使用throw语句

JavaScript错误处理

JavaScript 错误 - Throw.Try 和 Catch JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块. JavaScript 语句 try 和 catch 是成对出现的. 语法 try { //在这里运行代码 } catch(err) { //在这里处理错误 } 实例 在下面的例子中,我们故意在 try 块的代码中写了一个错字. catch 块会捕捉到 try 块中的

JavaScript对象类型详解

JavaScript对象类型详解 JavaScrtip有六种数据类型,一种复杂的数据类型(引用类型),即Object对象类型,还有五种简单的数据类型(原始类型):Number.String.Boolean.Undefined和Null.其中,最核心的类型就是对象类型了.同时要注意,简单类型都是不可变的,而对象类型是可变的. 什么是对象 一个对象是一组简单数据类型(有时是引用数据类型)的无序列表,被存储为一系列的名-值对(name-value pairs).这个列表中的每一项被称为 属性(如果是函

面向对象的JavaScript --- 动态类型语言

面向对象的JavaScript --- 动态类型语言 动态类型语言与面向接口编程 JavaScript 没有提供传统面向对象语言中的类式继承,而是通过原型委托的方式来实现对象与对象之间的继承. JavaScript 也没有在语言层面提供对抽象类和接口的支持. 正因为存在这些跟传统面向对象语言不一致的地方,我们在用设计模式编写代码的时候,更要跟传统面向对象语言加以区别.我们有必要先了解一些 JavaScript 在面向对象方面的知识. 编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一

JavaScript的类型、值和变量

计算机程序的运行需要对值进行操作,再变成语言中,能够表示并操作的值得类型称为数据类型.变量用来将值存储起来,变量是值得符号名称. 一.数据类型 JavaScript的数据类型可以分为两类,原生类型和对象类型,JavaScript的原始类型包括数字.字符串和布尔值,JavaScript还有两个特殊的原始值null(空)和undefined(未定义),它们不是数字.字符串和布尔值对象类型包含普通对象.数组.函数.日期.正则.错误对象. JavaScript的类型也可以按有无方法分,除了null和un