实例解析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 相关文章推荐
MSN消息提示类
Sep 05 Javascript
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
从零开始学习jQuery (二) 万能的选择器
Oct 01 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
JS烟花背景效果实现方法
Mar 03 Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 Javascript
Ext JS动态加载JavaScript创建窗体的方法
Jun 23 Javascript
node.js入门学习之url模块
Feb 25 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
Apr 10 Javascript
Vue实现跑马灯效果
May 25 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
Nov 17 Vue.js
微信小程序选择图片控件
Jan 19 Javascript
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
?繁体转换的class
2006/10/09 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
获取Django项目的全部url方法详解
2017/10/26 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python处理RSTP视频流过程解析
2020/01/11 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
QA工程师岗位职责
2013/11/20 职场文书
环境科学专业求职信
2014/08/04 职场文书
推广普通话的宣传语
2015/07/13 职场文书
2016国庆促销广告语
2016/01/28 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电