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米代金券、领会最新阿里云产物的种种优惠流动点击进入
5 代码审计发现体系通杀缝隙APT进犯者一般会运用一些文件格局和显现上的特性用于利诱受害用户或安全剖析人员。 这儿以LNK文件为例,LNK文件显现的方针履行途径仅260个字节,剩余的字符将被切断,可以...
在决定做供卵之前其实我的内心是挣扎的,心底始终无法接受一个与自己无血缘关系的孩子,但是直到成功怀孕最后宝宝出生,我的观念彻底改变了,现在感受到的只有幸福,且是前所未有的幸福,每天睡觉都会笑醒的那种幸福...
生活就像一个等待对手的大棋盘,每个人都在试图找到一个真正合适的对手。 女生要做到这三不管才能真正拴住男人心 1.在这漫长的生活中,爱的世界也是一样的,每个人都在寻找一个真正合适的人 2.但对于很...
有方针进犯(targeted attack): 关于一张图片和一个方针标示语句,生成一个对立样本,使得标示体系在其上的标示与方针标示完全一致。 换而言之,不只要求进犯成功,还要求生成的对立样本归于特定...
当用户试图通过搜索引擎,用关键词搜索出他们想要的商品、产品时,如果你的产品描述写得恰到好处,成功引导用户使用产品,那就是一件非常幸运的事。不过大多数人并没有在产品描述上下对功夫,不利于SEO。...
富康哲哥茶叶价格表批发价查询 哲哥茶叶161盒 6864元/瓶 哲哥茶叶139克 1540元/盒 哲哥茶叶271斤 4212元/提 哲哥茶叶27盒 6839元/罐 ...