ECMA-262第3版引入了try catch语句,作为JavaScript中处置异常的一种尺度方式。基本的语法如下所示。
然则在前端js代码中很少看到try catch语句,并不是以是代码都需要加try catch来作得不偿失的“保险”,下面来剖析作为前端代码,哪些地方才需要真正加try catch。
try { //可能会导致错误的代码 } catch (error) { //在错误发生时怎么处置 }finally { //纵然报错始终执行 }
众所周知,js以一个大括号{}决议一个块级作用域,代码进入 try catch 的时刻 js引擎会拷贝当前的词法环境,拷贝的实在就是当前 scope 下的所有的变量,这样消耗的性能是很大的,性能消耗与try catch代码量以及变量成正比。
实验对异步方式举行try catch操作只能捕捉当次事宜循环内的异常,对call back执行时抛出的异常将无能为力。
try { setTimeout(()=>{ const A = 1 A = 2 },0) } catch (e) { // 这里并不能捕捉回调内里抛出的异常 console.log("-----catch error------") console.log(e) }
try catch语句中报错直接到catch中处置,而浏览器控制台看不到报错信息。但很多人并没有在catch中抛出报错信息,或改写成自己随意写的报错文言,这样实在不如直接看浏览器原生的报错修改bug更利便。
说了这么多try catch的瑕玷,有些小伙伴们就会新鲜到里那里用try catch对照合适呢?
try catch最适合处置那些我们无法控制的错误,如I/O操作,后端java读取I/O操作对照多好比读数据库,以是用try catch对照多。前端可以用在上传图片或async await同步骤接口。
async function f() { try { await Promise.reject('出错了'); } catch(e) { } return await Promise.resolve('hello world'); }
然则大部分前端代码处置都不怎么依赖环境也没有I/O操作,都是自己写的代码,在明明白白地知道自己的代码会发生错误时,再使用try catch语句就不太合适了,以是慎用try catch。
泉源:https://segmentfault.com/a/1190000017409108
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
送礼物客户回应,还礼,不适合过我回家了就回来,客户是送礼我一个客户,不愿收我的礼物,不清楚回哪些好。大家应当全是送些确实的,但是大家企业也送过大家企业点中秋节月饼,她们家是中秋佳节的,她们也就是我...
一个加盟项目标投资用度是几多,这是许多加盟商在选择加盟项目标时候,首先城市思量的一个问题,而七好食品加盟项目作为如今市场上,备受宽大加盟商存眷的加盟品牌,自然而然就会被各人提问到啦!七好食品加盟要几多...
本文导读目录: 1、黑客帝国剪辑分析 2、博大精深的《黑客帝国》三部曲看了N遍了,还是没全看懂,哪位高手给个正解啊,还有他还会继续拍第四部吗? 3、黑客帝国这部电影一直没看懂,谁有这方面的资料...
一键盗qq密码软件绿色版网址-iOS抓包(应用BurpSuite和tcpdump) http://openfibers.github.io/blog/2016/03/18/debug-ios-tra...
脑梗塞是什么原因引起(脑梗的三大原因) 近年来中老年人“脑梗”发病率比较高百思特网,这给人们的健康敲响了警钟,因为我们知道人的大脑好象是“司令部”,学习、工作以及各种交流都由大脑来支配。因此大脑有了...
刷脸支付还未普及,刷手支付又来了,整个手掌就可以变成你的支付密码,扫一扫即可付款成功,和指纹支付有点相似,刷手支付原理是什么?刷手支付有什么用?下面友谊长存带来介绍。 刷手支付原理是什么? 原理:...