当前位置:Web前端 > javascript> 正文

javascript中error错误类型

时间:2016-7-20类别:Web前端

javascript中error错误类型

javascript中error错误类型

一、Error

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

 

二、EvalError  (eval错误)

eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再在ES5中出现了,只是为了保证与以前代码兼容,才继续保留

 

三、RangeError  (范围错误)

RangeError类型的错误会在一个值超出相应范围时触发,主要包括超出数组长度范围以及超出数字取值范围等,例如:数组长度为负数、Number对象的方法参数超出范围、函数堆栈超过最大值

  •  
  • 
    new Array(-1);//Uncaught RangeError: Invalid array length
    new Array(Number.MAX_VALUE);//Uncaught RangeError: Invalid array length
    
    (1234).toExponential(21);//Uncaught RangeError: toExponential() argument must be between 0 and 20
    (1234).toExponential(-1);////Uncaught RangeError: toExponential() argument must be between 0 and 20
    
    		
  •  

    四、ReferenceError  (引用错误)

     

    1、引用一个不存在的变量时,会触发ReferenceError(引用错误)

  •  
  • 
    a;//Uncaught ReferenceError: a is not defined
    1++;//Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
    
    		
  • 2、另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值。

  •  
  • 
    console.log() = 1 // ReferenceError: Invalid left-hand side in assignment 
    
    this = 1 // ReferenceError: Invalid left-hand side in assignment
    
    		
  •  

    五、SyntaxError  (语法错误)

    当不符合语法规则时,会抛出SyntaxError(语法错误)

  •  
  • 
    //变量名错误
    var 1a;//Uncaught SyntaxError: Unexpected number
    
    // 缺少括号
    console.log 'hello');//Uncaught SyntaxError: Unexpected string
    
    		
  •  

    六、TypeError  (类型错误)

     

    1、在变量或参数不是预期类型时,或者在访问不存在的方法时 都会导致TypeError类型错误。

    2、比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

  •  
  • 
    var o = new 10;//Uncaught TypeError: 10 is not a constructor
    
    var obj = {}; obj.unknownMethod() // TypeError: undefined is not a function
    
    alert('name' in true);//Uncaught TypeError: Cannot use 'in' operator to search for 'name' in true
    
    Function.prototype.toString.call('name');//Uncaught TypeError: Function.prototype.toString is not generic
    
    				
  •  

    七、URIError  (URI错误)

     

    URIError是URI相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。

     

  • 
    decodeURI('%2');// URIError: URI malformed
    
    		
  •  

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐