实例解析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 相关文章推荐
javascript attachEvent绑定多个事件执行顺序问题
Oct 20 Javascript
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 Javascript
jquery实现兼容IE8的异步上传文件
Jun 15 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
使用jQuery.Pin垂直滚动时固定导航
May 24 jQuery
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
taro小程序添加骨架屏的实现代码
Nov 15 Javascript
React实现评论的添加和删除
Oct 20 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
php 各种应用乱码问题的解决方法
2010/05/09 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
jquery 弹出层实现代码
2009/10/30 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
JSONP基础知识详解
2017/03/19 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
pygame实现成语填空游戏
2019/10/29 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
新浪网技术部笔试题
2016/08/26 面试题
平面设计的岗位职责
2013/11/08 职场文书
解除劳动合同证明书
2014/09/26 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
呼兰河传读书笔记
2015/06/30 职场文书