JavaScript错误处理方案

140 阅读1分钟

JavaScript遇到一个错误,会造成后续代码全部不能执行

image.png

throw 抛出异常 ==> 会阻断代码执行!!

image.png

image.png

// throw 抛出一个异常
// 1. 函数的代码遇到throw之后,后续的代码都不会执行
// 2. throw 抛出一个具体的错误信息
function fn(){
    console.log("fn function1")
    // 1. number/string/boolean
    // throw "反正就是一个错误"
    
    // 2. 抛出一个对象
    // throw { errMessage: "我是错误信息", errorCode: -1001}
    
    // 3. 常用Error类: 错误函数的调用栈及位置信息,方便调试
    throw new Error("我是错误信息")
    console.log("fn function2")
    console.log("fn function3")
    console.log("fn function4")
}

image.png

异常的捕获 try catch ==> 不会阻断代码,保障代码继续执行!!

image.png

function fn(){
        console.log("fn function1")
        // 1. number/string/boolean
        // throw "反正就是一个错误"
        
        // 2. 抛出一个对象
        // throw { errMessage: "我是错误信息", errorCode: -1001}
        
        // 3. 常用Error类: 错误函数的调用栈及位置信息,方便调试
        throw new Error("我是错误信息")
        console.log("fn function2")
        console.log("fn function3")
        console.log("fn function4")
    }
function test() {
    // 自己捕获了异常,那么异常就不会传递给浏览器,后续的代码可以正常执行
    try {
        fn()
        console.log("try后续的代码,处理异常")
    }catch(error){
        console.log("catch中的代码")
        console.log(error)
    }finally {
        console.log("finally代码,无论有无异常都会返回")
    }
}
function bar() {
    test()
}
bar()
console.log("-------------------")