JavaScript中try, catch, throw的用法
文章出自个人博客https://knightyun.github.io/2019/09/02/js-try,转载请申明。
程序在运行中难免遇到 bug,所以就需要好的调试手段找出问题所在,try, catch, throw
便是 JavaScript 中用来调试并对错误执行相关操作的工具,下面具体介绍其用法;
try, catch
基本语法结构:
try {// ...// 这里写需要调试的代码段
} catch(error) {// ...// 这里写要对获取的错误信息执行的操作
}
举例:
try {// 这里故意写错函数名,为了抛出错误console.logg('This is an error and will not display');
} catch (e) {console.log(e); // TypeError: console.logg is not a functionconsole.log(e.message); // console.logg is not a functionconsole.log(e.name); // TypeErrorconsole.log(e.stack); // TypeError: console.logg is not a function
}
上面的错误代码如果直接在正常环境中执行,便会直接在后台输出错误:
TypeError: console.loggg is not a function
但是使用 try, catch
结构的话,就可以获取一个包含错误信息的对象,其包含各个部分的错误信息,便于进行一些自定义操作;
throw
throw
是在上述结构中使用的一个函数,接受一个参数作为输出信息,throw 的作用是中断后面所有语句的执行,包括错误源,但是它前面的语句都会正常执行,它可以用于判断错误的具体位置,例如:
try {console.log('This will display.');throw('My error position.'); // throw 将会中断语句的执行// 同样故意制造错误console.logg('This is an error and will not display.');// 后面是正常语句console.log('This will not display, either.')
} catch (e) {console.log(e);
}
// This will display.
// My error position.
如果错误发生在 throw
语句之前的话,错误便会被正常抛出,而 throw
传递的信息不会被输出,例如:
try {console.logg('This is an error and wil not display.');throw('My error position.');// 后面的执行同样会被中断console.log('This will not display, either.')
} catch(e) {console.log(e);
}
// TypeError: console.logg is not a function.
因此,在调试过程中可以结合上面两种情况,一步步找出错误的具体位置;
技术文章推送 手机、电脑实用软件分享
JavaScript中try, catch, throw的用法相关推荐
- js中 try catch finally 的用法
1.应用范围 可以用来判断,你可控的错误,就是说,你清楚知道这里可能出错,并且在什么前提下会出错,你就是故意利用报错信息来区分错误,后续的程序会解决所有的出错,让程序继续执行. 2.语法 3.运行流程 ...
- C++中try/catch/throw的使用
C++异常是指在程序运行时发生的反常行为,这些行为超出了函数正常功能的范围.当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理.异常提供了一种转移程序控制权的方式.C++异常处理涉及到三个关 ...
- 前端 JavaScript 中 JSON.stringify() 的基本用法
前言 在开发工作中,我们可能会碰到这样的需求:需要将某个对象内容弹窗显示或者保存在文件中,这时候如果你直接弹窗的话,很可能就是下面这样的: 因为很多接口它对参数有要求,比如只能是字符串之类的. 这时候 ...
- JS(javascript)中this的几种用法实例详解
本文主要介绍了javascript(以下简称js)中 this 用法,结合具体实例详细分析一下js中 this 的含义及使用方法,需要的朋友可以参考下. this 是 JavaScript 语言的一个 ...
- JavaScript 中 window.setTimeout() 的详细用法
setTimeout (表达式,延时时间) setTimeout(表达式,交互时间) 延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTimeout 在执行时,是在载入后延迟指定时间后 ...
- JavaScript中call()和apply()的用法及区别
call(), apply()都属于Function.prototype的一个方法.它们有相同点也有不同点. 相同点: 1.产生的效果和作用是完全相同的: 2.至少有一个参数,第一个参数必须是一个对象 ...
- 复习javascript中call,apply,bind的用法
一直很难理解js中的call apply bind,在w3schools,mdn阅读了,也看了很多相关的文章,今天我来写下我理解的call apply bind 首先创建一个函数 function m ...
- Java中try catch语句的用法
在 Java 中通常采用 try catch 语句来捕获异常并处理.语法格式如下: try { 逻辑代码块1; } catch(ExceptionType e) { 处理代码块1; ...
- JavaScript中callee和caller的用法解读
1.callee: callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数. 作用:指向当前对象. 例1: <script type="text/java ...
最新文章
- oracle ocp题库变化,052最新考试题及答案整理-30
- warning C4251 needs to have dll-interface解决办法
- 【map】【HDOJ】5233 Gunner II
- 【深度学习】图文并茂!用Keras LSTM构建编码器-解码器模型
- CentOs安装ssh服务
- 【Linux系统编程】 Linux系统调用概述
- if、for、while、do while、switch (区别于if、while)解析
- 回溯法——打印子集树
- 使用diskpart命令为windows7创建分区
- 单例设计模式-静态内部类
- 变量:2021数字科技前沿应用趋势
- Java与完成端口IOCP
- 什么计算机有hdmi接口,hdmi接口是什么?hdmi是什么?
- 一维卷积神经网络在近红外光谱分析中的应用
- 如何测试计算机的运行速度,如何查看cpu运行速度
- Hibernate 映射关系 ---One2One 主键关联
- 测试一个教室和一个椅子
- 电脑系统常见进程-进程管理
- ipad微信已连接服务器失败,云旗舰云非凡千纸鹤微信安全提醒怎么办,你的微信账号通过ipad副设备发表失败...
- 代码优化小技巧-使用enum统一返回code码
热门文章
- PgSQL · 应用案例 · 经营、销售分析系统DB设计之共享充电宝
- 用vue和node写的简易购物车
- 同步机制之--java之CountDownLatch闭锁
- poj 3310(并查集判环,图的连通性,树上最长直径路径标记)
- ecshop每个商品添加去淘宝购买链接
- 假如你心中有个莎乐美
- 如何将word表结构转换为excel表格,最终转换为PowerDesigner格式
- BZOJ 4155 Humble Captains
- nagios+pnp4nagios+nagiosql+nodutils
- 【uC/OS-II】笔记1----入门