zoukankan      html  css  js  c++  java
  • 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 错误。这种错误也很少见,因为这两个函数的容错性非常高。

  • 相关阅读:
    poj 3111 卖珠宝问题 最大化平均值
    如何在b站上传高码率视频
    AC自动机总结
    NOIP2018 旅行
    NOI2008 假面舞会 DFS
    鸽子的记录
    Unity学习笔记
    LuoguP1196 [NOI2002]银河英雄传说 并查集
    Luogu1801 黑匣子 堆
    Luogu P1321 单词覆盖还原 字符串
  • 原文地址:https://www.cnblogs.com/lanshu123/p/10422601.html
Copyright © 2011-2022 走看看