实例解析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 相关文章推荐
一个小型js框架myJSFrame附API使用帮助
Jun 28 Javascript
JavaScript语言对Unicode字符集的支持详解
Dec 30 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
JS中常用的输出方式(五种)
Jun 12 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
vue组件从开发到发布的实现步骤
Nov 11 Javascript
openlayers实现图标拖动获取坐标
Sep 25 Javascript
vue实现按钮切换图片
Jan 20 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制作静态网站的模板框架(四)
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/14 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
新手入门常用代码集锦
2007/01/11 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
python正则表达式中的括号匹配问题
2014/12/14 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python运算符重载用法实例
2015/05/28 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
什么是反射?如何实现反射?
2016/07/25 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
数控专业自荐书范文
2014/03/16 职场文书
租房协议书
2014/04/10 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
北京英语导游词
2015/02/12 职场文书
运动会新闻稿
2015/07/17 职场文书
检讨书格式
2019/04/25 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript