学习目标:
- 掌握异常处理
学习内容:
- throw抛异常
- try/catch捕获异常
- debugger
throw抛异常:
异常处理是预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行。
<title>throw抛异常</title>
</head>
<body>
<script>
function fn(x, y) {
if (!x || !y) {
// throw '没有参数传递进来'
throw new Error('没有参数传递过来')
}
return x + y
}
console.log(fn())
</script>
</body>
- 总结:
throw
抛出异常信息,程序也会终止执行。throw
后面跟的是错误提示信息。Error
对象搭配throw
使用,能够设置更详细的错误信息。
- 小结:
1.抛出异常我们用哪个关键字? | throw 关键字 |
---|---|
2. 它会终止程序吗? | 会 中止程序 |
3.抛出异常经常和谁配合使用? | Error 对象搭配throw 使用 |
try/catch捕获异常:
我们可以通过 try/catch
捕获错误信息(浏览器提供的错误信息) try试试
,catch拦住
,finally最后
。
<title>catch捕获异常</title>
</head>
<body>
<p>123</p>
<script>
function fn() {
try {
// 可能发送错误的代码 要写到 try
const p = document.querySelector('.p')
p.style.color = 'red'
} catch (err) {
// 拦截错误,提示浏览器提供的错误信息,但是不中断程序的执行
console.log(err.message)
throw new Error('你看看,选择器错误了吧')
// 需要加return 中断程序
// return
}
finally {
// 不管你程序对不对,一定会执行的代码
alert('弹出对话框')
}
console.log(11)
}
fn()
</script>
</body>
- 总结:
try..catch用于捕获错误信息
。- 将预估可能发生错误的代码写在
try
代码段中。 - 如果
try
代码段中出现错误后,会执行catch
代码段,并截获到错误信息。 finally
不管是否有错误,都会执行。
- 小结;
1.捕获异常我们用哪3个关键字? | try ,catch ,finally |
---|---|
2.可能会出现的错误代码写到谁里面? | try |
3.怎么调用错误信息? | 利用catch 的参数 |
debugger:
我们可以通过 try/catch
捕获错误信息(浏览器提供的错误信息)。
<title>debugger</title>
</head>
<body>
<script>
const arr = [1, 3, 5]
const newArr = arr.map((item, index) => {
debugger
console.log(item) //当前元素
console.log(index) //当前元素索引号
return item + 10 //让当前元素 + 10
})
console.log(newArr) //[11,13,15]
</script>
</body>