javaScript中try和catch的使用和跳出forEach循环

您所在的位置:网站首页 js循环继续 javaScript中try和catch的使用和跳出forEach循环

javaScript中try和catch的使用和跳出forEach循环

2024-04-01 00:54| 来源: 网络整理| 查看: 265

目录 1,前言2,语法2.1,基本使用方法2.2,自定义报错信息 3,跳出forEach循环3.1,跳出forEach3.2,跳出双层forEach

1,前言

有时项目中处理数据的时候,会存在数据有误,或者为空…等等问题而报错,由于javaScript是单线程,代码是自上而下放到执行栈中执行,如果某一段报错了,后面的代码全都不会执行。为了避免这种情况发生,我们的try和catch就派上用场了。

2,语法

完整语法

try { tryCode - 尝试执行的代码块 } catch(error) { catchCode - 捕获错误的代码块 } finally { finallyCode - 无论 try / catch 结果如何都会执行的代码块 }

一般我们只需要用到try和catch,下面是几个例子。

demo数据(下面的例子都是用这个数据)

let obj = [ { id:'001', title:'沙漠中怎么会有泥鳅', array:[ { age:18 } ] }, { id:'002', title:'话说完飞过一只海鸥', array:[ { age:17 } ] }, { id:'003', title:'大峡谷的风呼啸而过', array:[ { age:21 } ] } ] 2.1,基本使用方法

在这里我们没有定义过param变量,通过console.log打印时,javaScript会抛出一个错误。

try{ console.log(param) } catch(error){ console.error(error) }; console.log("如果看见了这段话说明代码没有被报错所阻塞");

控制台

2.2,自定义报错信息

配合throw new Error

try{ obj.forEach(item => { if(item.id === '002'){ throw new Error('id不能等于002'); } }); } catch(error){ console.error(error) }; console.log("如果看见了这段话说明代码没有被报错所阻塞");

控制台

3,跳出forEach循环

forEach不能使用break和continue这两个关键字,本身无法跳出循环,也不能像普通for循环一样使用return跳出,必须遍历所有的数据才能结束。

3.1,跳出forEach try{ obj.forEach(item => { console.log(`当前id:${item.id}`) if(item.id === '002'){ throw new Error('id等于002,跳出循环'); } }); } catch(error){ console.error(error) }; console.log("如果看见了这段话说明代码没有被报错所阻塞");

控制台

3.2,跳出双层forEach

跳出了第二层循环,第一层循环继续执行;

try{ obj.forEach(item => { console.log(`第一层forEach循环:${item.id}`); try{ item.array.forEach(val => { if(val.age


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3