MDN

throw语句用来抛出一个用户自定义的异常。当前函数的执行将被停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个catch块。如果调用者函数中没有catch块,程序将会终止。

当日常代码逻辑较复杂时可以使用异常快速定位错误,并进行相应处理。

throw

抛出异常,可以是一段字符串、数字、布尔

function test(i) {if(i === 0) {throw "i不能等于0"; //throw 777;       //throw true;  }console.log('后续代码!')
}   test(0);

也可以是一个对象,记录当前报错具体信息,方便快速定位!

 throw { errorCode: -1001, errorMessage: "type不能为0~" } //对象类型throw new Error("type不能为0") //使用Error类创建一个报错信息

try、catch

既然有抛出也要有对应的代码接受,接受后也需要相应的代码处理当前报错。

MDN

try...catch语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。

基础语法:

let num = 0
function test(i) {if(i === 0) {throw "i不能等于0"; //throw 777;       //throw true;  }console.log('后续代码!')
}
try {//监测抛出的报错信息test(num)
}catch(e) {//e为抛出的报错信息console.log(e) //当try接受报错后执行num ++;test(num)
}

也可以在catch中继续嵌套抛出

let num = 10;
try {throw num
} catch(e) {if(e > 5) {num = 1}else {throw e}
} catch(e) {num = 1
}

finally

不管是否抛出错误,都执行

try {throw 10
} catch(e) {return e
} finally {console.log('aaa')
}

JS的报错处理(throw、try、catch)相关推荐

  1. eclipse 如何忽略js文件报错

    本文翻译自:http://stackoverflow.com/questions/10254922/jquery-mobile-1-1-0-min-triggers-errors-in-eclipse ...

  2. win10编辑js文件报错,错误','

    在filezilla中编辑js文件报错,在本地可以使用文本编辑,但需重新上传覆盖,很不方便 在win10默认应用中修改为文本编辑即可,在FTP编辑: 直接可以打开编辑

  3. MyEclipse导入项目后 js文件报错

    当我们把项目导入MyEclipse的时候会发现导入的项目报错,点开一看是js文件报错了,那么我们应该如何处理导入MyEclipse之后js文件报错呢??? 首先,我们要保证我们导入的代码是正确的. 解 ...

  4. python调用js文件报错_python - selenium 运行网页中js脚本报错,提示未定义

    问 题 问题1 selenium 运行网易中js脚本报错提示未定义 报错提示如下: driver.execute_script("javascript:amsInit(62800,30315 ...

  5. JS undefined报错

    JS undefined报错 查看:onclick的调用者未找到 原因:调用该方法的变量的值为null,即节点未找到 解决:在引用此变量的前文对此变量进行定义并赋值,不可以在后面定义并赋值,js是从上 ...

  6. 运行JS代码报错:Uncaught TypeError: Cannot read property‘style‘ of undefined

    运行JS代码报错:Uncaught TypeError: Cannot read property'style' of undefined 这个报错的原因通常是没有获取指定的标签: 这个报错的原因通常 ...

  7. 【微信】微信小程序 微信开发工具 创建js文件报错 pages/module/module.js 出现脚本错误或者未正确调用 Page()...

    创建报错pages/module/module.js 出现脚本错误或者未正确调用 Page() 解决方法: 在js文件中添加 Page({}) 转载于:https://www.cnblogs.com/ ...

  8. 【shiro】使用shiro搭建的项目,页面引用js,报错:Uncaught SyntaxError: Unexpected token ...

    使用shiro搭建项目过程中,总是出现登录页面 登录第一次有效果,登陆第二次出现302状态码,第三次又有效果,第四次又没有效果的局面. 因此,采用ajax提交页面登录的用户名和密码,但是在引用js的过 ...

  9. js vm报错_uni-app v3版本更新常见问题排查

    uni-app v3版本更新常见问题排查 组件不显示或者功能异常 原因:组件内使用了 onReady,onReady 是页面的生命周期,不应在组件中直接使用,组件中应该使用 mounted 生命周期 ...

最新文章

  1. 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...
  2. CURL HTTPS POST
  3. python关键字中文意思_python 字符串只保留汉字的方法
  4. 全程干货,requests模块与selenium框架详解
  5. DB2存储过程中的ATOMIC关键字
  6. 循环机换变速箱油教程_问答| 想更换变速箱油,是重力换还是循环换?
  7. html css important,css中的important是什么意思?
  8. Windows网络编程之UDP通信
  9. 油猴脚本管理器使用指南
  10. 现代控制理论 之 LQR控制
  11. 用java求梯形面积
  12. c语言为什么不能自动free,求大神帮忙看看 为什么cfree没有报错但是就是运行不了...
  13. 矢量绘图控件VectorDraw系列2021年初最新发布!性能大幅度提升 | 附下载
  14. 一点笔记,好记性不如烂笔头
  15. 几种室内定位技术方案对比,室内定位种类的优缺点一目了然-新导智能
  16. 2020下半年新机最新消息_2020下半年3款重磅新机:三星Note20被吹爆,华为Mate40差点意思...
  17. 【Spring】@Lazy注解
  18. linux基础——echo
  19. Android发送彩信(带图片附件)
  20. Dubbo-02 20190315

热门文章

  1. PDF文件删除空白页
  2. ssd硬盘 速度慢 linux,固态硬盘速度太慢 快不起来?你或许犯了这四个SSD使用错误 (全文)...
  3. 基本IO接口技术——微机第七章笔记
  4. 将vue-admin-template组件默认英文语言改成中文
  5. 网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
  6. BiocManager安装R包解决下载速度太慢的问题
  7. matlab 的 符号,MATLAB符号计算
  8. php m pi 2,PHP rad2deg()函数
  9. i.MX283开发板移植RTL8188ETV无线网卡驱动
  10. 选择中医 - 醒脑(养生、穴位)