慎用try catch

访客3年前关于黑客接单986

前言

ECMA-262第3版引入了try catch语句,作为JavaScript中处置异常的一种尺度方式。基本的语法如下所示。
然则在前端js代码中很少看到try catch语句,并不是以是代码都需要加try catch来作得不偿失的“保险”,下面来剖析作为前端代码,哪些地方才需要真正加try catch。


一、try catch语法

try {
    //可能会导致错误的代码
} catch (error) {
    //在错误发生时怎么处置
}finally {
     //纵然报错始终执行
 }


二、try catch瑕玷

1.try catch耗性能

众所周知,js以一个大括号{}决议一个块级作用域,代码进入 try catch 的时刻 js引擎会拷贝当前的词法环境,拷贝的实在就是当前 scope 下的所有的变量,这样消耗的性能是很大的,性能消耗与try catch代码量以及变量成正比。

2.try catch捕捉不到异步错误

实验对异步方式举行try catch操作只能捕捉当次事宜循环内的异常,对call back执行时抛出的异常将无能为力。

try {
    setTimeout(()=>{
        const A = 1
        A = 2
    },0)
} catch (e) {
    // 这里并不能捕捉回调内里抛出的异常
    console.log("-----catch error------")
    console.log(e)
}
3.try catch可能会导致报错点更模糊

try catch语句中报错直接到catch中处置,而浏览器控制台看不到报错信息。但很多人并没有在catch中抛出报错信息,或改写成自己随意写的报错文言,这样实在不如直接看浏览器原生的报错修改bug更利便。


三、try catch总结

说了这么多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米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

我的淘宝体检中心在哪里【教你查看自己的处罚信息】

我的淘宝体检中心在哪里(教你查看自己的处罚信息) 假如淘宝网淘宝宝贝降权了 ,便会在一定水平上危害当然检索权重值,因此 假如发觉店面商品当然检索权重值减少了,就需要开展淘宝宝贝降权查询 ,这儿就而言...

课程参谋:内网浸透——针对hash的进犯

本文从hash获取方法,爆炸hash,hash中转,中继等方面全面剖析,以直观详细的实践来了解进犯进程,进程比较详细,请耐性观看。 0x02 什么是NTLM-hash、net NTLM-hashNTL...

钱被网络诈骗 能找黑客黑平台刷流水赚钱-无前期费用黑客追款联系号(无前期费用黑客追款联系方式)

钱被网络诈骗 能找黑客黑平台刷流水赚钱-无前期费用黑客追款联系号(无前期费用黑客追款联系方式)

钱被网络诈骗 能找黑客黑平台刷流水赚钱相关问题 我想自学成为黑客相关问题 警察怎么找到黑客 手机屏幕怎么变成两个一样的(华为手机屏幕变成...

免费上传文件的服务器(可永久免费使用的专业

免费上传文件的服务器(可永久免费使用的专业

目前你在使用怎样的方式给你的朋友同事分享文件呢?QQ、微信、邮箱、还是百度网盘呢?微信只能传100M以内的文件,百度网盘限速限的让人头疼,QQ邮箱最大也仅持3G大小的单文件。   那么有没有一...

提高自己(一个人怎么才能提高自己)

提高自己(一个人怎么才能提高自己) 大家好,我是冰冰。 说到自我提升,很多人会想到自律,但是,怎样才能做到自律,对很多人来说又是一个难题。大多数人都知道要自律,但却不知道该如何去做。如果真...

返青粽叶怎么辨别 返青粽叶和新鲜粽叶的区别

返青粽叶怎么辨别 返青粽叶和新鲜粽叶的区别

包粽子优选新鮮粽子叶,许多无良商家会出售返青粽子叶,这类粽子叶很有可能会伤害身心健康,乃至造成拉肚子,反胃等,留意新鮮粽子叶和返青粽子叶的差别,返青粽子叶怎么辨别?有什么不同?下边我产生详细介绍。...