概述
错误处理
正常情况下js代码遇到错误后我们的浏览器会报错,后面的代码无法继续执行,浏览器控制台会出现错误提示
try/catch
try{
// 可能出错的代码
}catch(error){
// 错误处理
console.log(error.message)
}finally{
console.log("不管怎样我都会执行")
}
try捕获错误,遇到错误时catch做出一些处理
try捕获到了出错误,那么try这个作用域中,报错后的代码不会执行了,但是如果catch中没有throw抛出错误,那么,try{ } catch(err){ } 外面的代码是可以继续执行的;抛出错误那么就不会执行了
try/catch与finally
不管怎么样finally中的代码一定会执行
1》如果没有错误,执行完try中的代码,就直接执行finally中的代码;接着执行其他代码
2》2.1 如果有错误,遇到错误后执行catch,然后执行finally;接着执行其他代码
2.2 如果catch中抛出了一个错误,那么遇到错误后会先执行finally,然后再执行catch;代码终止执行
throw
throw()必须抛出任何类型的东西
抛出异常,用于自己定义错误信息
这样就可以获取更加准确、有效的错误信息了
try/catch与throw搭配使用
try {
const arr = 110;
arr.sort();
} catch (error) {
throw new Error("传入的并非数组,不能使用sort方法");
}
####捕获不到异步代码的错误
try 是捕获错误的代码必须是在try线程里的时候才能捕获到。而如果是异步函数,异步函数会进入队列,这个时候代码已经离开try的这个主线程,所以try是捕获不到异步代码的错误的
try {
setTimeout(() => {
console.log(asyncUndefinedParam)
}, 100)
} catch (err) {
console.log(err)
}
上面这个代码会报错,没有捕获到这个异步的错误
最后
以上就是超帅发夹为你收集整理的错误处理:try/catch与throw错误处理的全部内容,希望文章能够帮你解决错误处理:try/catch与throw错误处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复