JavaScript——异常处理
1. throw抛异常
异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行。
function counter(x, y) {
// undefined取反为真(1)
if(!x || !y) {
throw new Error('参数不能为空!')
}
return x + y
}
// 不传参,形参x和y为undefined
counter() // 抛出异常并未输出返回结果
总结:
throw
抛出异常信息,程序也会终止执行。throw
后面跟的是错误提示信息。Error
对象配合throw
使用,能够设置更详细的错误信息。
2. try…catch捕获异常
我们可以通过try...catch
捕获错误信息(浏览器提供的错误信息),try
试试,catch
拦住,finally
最后。
function fn() {
try {
// 可能发生错误的代码 要写到 try
const p = document.querySelector('.p')
p.style.color = 'red'
} catch (err) {
// 拦截错误,提示浏览器提供的错误信息,但是不中断程序的执行
console.log(err.message);
// 需要加 return 中断程序
// return
// 通常配合 throw 来中断程序
throw new Error('选择器错误')
}
// 不管你程序对不对,一定会执行的代码,并且一定紧跟在catch回调函数之后
finally {
console.log('finally代码块不管你程序对不对,一定会执行的代码,并且一定紧跟在catch回调函数之后');
}
console.log('-----测试trycatch捕获异常后面的代码会不会继续执行-----');
}
// 调用函数
fn()
总结:
try...catch
用于捕获错误信息。- 将预估可能发生错误的代码写在
try
代码段中。 - 如果
try
代码段汇中出现错误后,会执行catch
代码段,并截获到错误信息。 finally
不管是否有错误,都会执行。