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


    七种错误类型如下:

    • 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('某某某'));

  • 相关阅读:
    第一次博客作业
    编辑器、编译器、文件、IDE等常见概念辨析
    树、二叉树、查找知识点总结
    二叉排序树
    线性表知识点总结
    c语言文件
    第二次博客作业: 函数+进制转换器v1.0beta
    python作业1
    c语言知识
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/moqiutao/p/14415729.html
Copyright © 2020-2023  润新知