宽屏
1. throw 抛异常
异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行
function counter(x, y) {
    if (!x || !y) {
        throw new Error('参数不能为空!')
    }
    return x + y
}
counter()[object Object]
总结:
1. throw 抛出异常信息,程序也会终止执行
2. throw 后面跟的是错误提示信息
3. Error 对象配合 throw 使用,能够设置更详细的错误信息
2. try/catch 捕获错误信息
我们可以通过try / catch 捕获错误信息(浏览器提供的错误信息) try 试试 catch 拦住 finally 最后
function foo() {
    try {
        // 查找 DOM 节点
        const p = document.querySelector('.p')
        p.style.color = 'red'
    } catch (error) {
        // try 代码段中执行有错误时,会执行 catch 代码段
        // 查看错误信息
        console.log(error.message)
        // 终止代码继续执行
        return
    } finally {
        alert('执行')
    }
    console.log('如果出现错误,我的语句不会执行')
}
foo()
总结:
1. try...catch 用于捕获错误信息
2. 将预估可能发生错误的代码写在 try 代码段中
3. 如果 try 代码段中出现错误后,会执行 catch 代码段,并截获到错误信息
4. finally 不管是否有错误,都会执行
3. debugger
我们可以通过try / catch 捕获错误信息(浏览器提供的错误信息)
function foo() {
    try {
        debugger
        // 查找 DOM 节点
        const p = document.querySelector('.p')
        p.style.color = 'red'
    } catch (error) {
        // try 代码段中执行有错误时,会执行 catch 代码段
        // 查看错误信息
        console.log(error.message)
        // 终止代码继续执行
        return
    } finally {
        alert('执行')
    }
    console.log('如果出现错误,我的语句不会执行')
}
foo()