实例解析js中try、catch、finally的执行规则


Posted in Javascript onFebruary 24, 2017

try:  语句测试代码块的错误,一般把可能会出错的代码放到这里

catch: 只有try里面的代码块发生错误时,才会执行这里的代码,参数err记录着try里面代码的错误信息

finally: 无论有无异常里面代码都会执行

try{
 console.log(0);
 }catch (err){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 }
 //最后结果分别打印出 0 2
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 }
 */
 //最后结果分别打印出 1 2 报错:hello is not defined
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 try{
  console.log(hello);
 }catch (e){
  console.log(3);
 }
 }finally {
 console.log(2);
 console.log(word);
 } 
 */
 //最后结果分别打印出 1 3 2 报错:word is not defined
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 console.log(word);
 }*/
 //最后结果分别打印出 1 2 报错:word is not defined

总结:

try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行

catch和finally里面,正常的代码会从上到下顺序执行

如果只是catch里面代码出错,则报catch里面的错误

如果catch和finally都出错则会报finally里面的错误

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery实现的网页自动播放声音
Apr 30 Javascript
JavaScript支持的最大递归调用次数分析
Jun 24 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
Aug 27 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
基于jQuery实现点击弹出层实例代码
Jan 01 Javascript
JQuery DIV 动态隐藏和显示的方法
Jun 23 Javascript
详解开源的JavaScript插件化框架MinimaJS
Oct 26 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
详解Vue打包优化之code spliting
Apr 09 Javascript
详解JavaScript的变量
Apr 04 Javascript
layer弹出层扩展主题的方法
Sep 11 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
js中开关变量使用实例
Feb 24 #Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 #Javascript
js实现导航吸顶效果
Feb 24 #Javascript
canvas绘制多边形
Feb 24 #Javascript
angularjs实现多张图片上传并预览功能
Feb 24 #Javascript
Angularjs分页查询的实现
Feb 24 #Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
Feb 24 #Javascript
You might like
PHP date函数参数详解
2006/11/27 PHP
PHP实现MySQL更新记录的代码
2008/06/07 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
js中url对象化管理分析
2017/12/29 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
js实现计算器功能
2020/08/10 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
在python中的socket模块使用代理实例
2014/05/29 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
客服主管岗位职责
2013/12/13 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
财务内勤岗位职责
2014/04/17 职场文书
物业管理工作方案
2014/05/10 职场文书
倡议书范文格式
2014/05/12 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
卖房授权委托书样本
2014/10/05 职场文书
结婚通知短信大全
2015/04/17 职场文书
二审代理词范文
2015/05/25 职场文书
房屋质量投诉书
2015/07/02 职场文书
婚礼答谢词范文
2015/09/29 职场文书
2016国培研修心得体会
2016/01/08 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js