文章出自个人博客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的用法相关推荐

  1. js中 try catch finally 的用法

    1.应用范围 可以用来判断,你可控的错误,就是说,你清楚知道这里可能出错,并且在什么前提下会出错,你就是故意利用报错信息来区分错误,后续的程序会解决所有的出错,让程序继续执行. 2.语法 3.运行流程 ...

  2. C++中try/catch/throw的使用

    C++异常是指在程序运行时发生的反常行为,这些行为超出了函数正常功能的范围.当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理.异常提供了一种转移程序控制权的方式.C++异常处理涉及到三个关 ...

  3. 前端 JavaScript 中 JSON.stringify() 的基本用法

    前言 在开发工作中,我们可能会碰到这样的需求:需要将某个对象内容弹窗显示或者保存在文件中,这时候如果你直接弹窗的话,很可能就是下面这样的: 因为很多接口它对参数有要求,比如只能是字符串之类的. 这时候 ...

  4. JS(javascript)中this的几种用法实例详解

    本文主要介绍了javascript(以下简称js)中 this 用法,结合具体实例详细分析一下js中 this 的含义及使用方法,需要的朋友可以参考下. this 是 JavaScript 语言的一个 ...

  5. JavaScript 中 window.setTimeout() 的详细用法

    setTimeout (表达式,延时时间) setTimeout(表达式,交互时间) 延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTimeout 在执行时,是在载入后延迟指定时间后 ...

  6. JavaScript中call()和apply()的用法及区别

    call(), apply()都属于Function.prototype的一个方法.它们有相同点也有不同点. 相同点: 1.产生的效果和作用是完全相同的: 2.至少有一个参数,第一个参数必须是一个对象 ...

  7. 复习javascript中call,apply,bind的用法

    一直很难理解js中的call apply bind,在w3schools,mdn阅读了,也看了很多相关的文章,今天我来写下我理解的call apply bind 首先创建一个函数 function m ...

  8. Java中try catch语句的用法

    在 Java 中通常采用 try catch 语句来捕获异常并处理.语法格式如下:  try {     逻辑代码块1; } catch(ExceptionType e) {     处理代码块1; ...

  9. JavaScript中callee和caller的用法解读

    1.callee: callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数. 作用:指向当前对象. 例1: <script type="text/java ...

最新文章

  1. oracle ocp题库变化,052最新考试题及答案整理-30
  2. warning C4251 needs to have dll-interface解决办法
  3. 【map】【HDOJ】5233 Gunner II
  4. 【深度学习】图文并茂!用Keras LSTM构建编码器-解码器模型
  5. CentOs安装ssh服务
  6. 【Linux系统编程】 Linux系统调用概述
  7. if、for、while、do while、switch (区别于if、while)解析
  8. 回溯法——打印子集树
  9. 使用diskpart命令为windows7创建分区
  10. 单例设计模式-静态内部类
  11. 变量:2021数字科技前沿应用趋势
  12. Java与完成端口IOCP
  13. 什么计算机有hdmi接口,hdmi接口是什么?hdmi是什么?
  14. 一维卷积神经网络在近红外光谱分析中的应用
  15. 如何测试计算机的运行速度,如何查看cpu运行速度
  16. Hibernate 映射关系 ---One2One 主键关联
  17. 测试一个教室和一个椅子
  18. 电脑系统常见进程-进程管理
  19. ipad微信已连接服务器失败,云旗舰云非凡千纸鹤微信安全提醒怎么办,你的微信账号通过ipad副设备发表失败...
  20. 代码优化小技巧-使用enum统一返回code码

热门文章

  1. PgSQL · 应用案例 · 经营、销售分析系统DB设计之共享充电宝
  2. 用vue和node写的简易购物车
  3. 同步机制之--java之CountDownLatch闭锁
  4. poj 3310(并查集判环,图的连通性,树上最长直径路径标记)
  5. ecshop每个商品添加去淘宝购买链接
  6. 假如你心中有个莎乐美
  7. 如何将word表结构转换为excel表格,最终转换为PowerDesigner格式
  8. BZOJ 4155 Humble Captains
  9. nagios+pnp4nagios+nagiosql+nodutils
  10. 【uC/OS-II】笔记1----入门