我是靠谱客的博主 超帅发夹,最近开发中收集的这篇文章主要介绍错误处理:try/catch与throw错误处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

错误处理

正常情况下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错误处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部