• js 中的错误类型及处理方式


    js 中的错误类型及处理方式

    js 错误

    1. SyntaxError

    解析时发生语法错误。

    window.onerror捕获不到SyntxError,一般SyntaxError在构建阶段,甚至本地开发阶段就会被发现。

    比如我们的关键词拼写错误

    constt a;
    lett b;
    varr c;
    
    • 1
    • 2
    • 3

    2. TypeError

    值类型不对,当传入函数的操作数或参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误。

    const nul = null;
    console.log(null.value);
    
    • 1
    • 2

    3. ReferenceError

    引用未声明的变量。

    console.log(undefinedVariable);
    
    • 1

    4. RangeError

    当一个值不在其所允许的范围或者集合中。

    例如不能将数字的有效位数位 1-100,将其设置为 200 就出现RangeError错误。

    const num = 1;
    num.toPrecision(200);
    
    • 1
    • 2

    以上几个错误(除了SyntaxError)都可以通过改写window.onerror方法或添加window.addEventListener('error', function () {})监听进行捕获。

    window.onerror = function (msg, url, lineNo, columnNo, error) {
        // 处理错误信息
    }
    // demo
    msg: Uncaught TypeError: Uncaught ReferenceError: a is not defined
    error.statck: TypeError: ReferenceError: a is not defined at http://xxxx.js:1:13
    window.addEventListener('error', event => (){
      // 处理错误信息
    }, false);
    // true代表在捕获阶段调用,false代表在冒泡阶段捕获。使用true或false都可以,默认为false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    网络异常

    1. ResourceError

    资源加载错误

    当一项资源(如