实例解析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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
Jul 15 Javascript
JS 作用域与作用域链详解
Apr 07 Javascript
浅谈document.write()输出样式
May 07 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
Jan 09 Javascript
javascript创建cookie、读取cookie
Mar 31 Javascript
vue-cli入门之项目结构分析
Apr 20 Javascript
Vue项目中添加锁屏功能实现思路
Jun 29 Javascript
记一次vue去除#问题处理经过小结
Jan 24 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
浅谈如何优雅处理JavaScript异步错误
Nov 12 Javascript
JS实现简单移动端鼠标拖拽
Jul 23 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
php debug 安装技巧
2011/04/30 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
explicit和implicit的含义
2012/11/15 面试题
夫妻分居协议书范本
2014/11/28 职场文书
食堂卫生管理制度
2015/08/04 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
python解析json数据
2022/04/29 Python