JS常见错误(Error)及处理方案详解


Posted in Javascript onJuly 02, 2020

 1. 错误的类型

Error: 所有错误的父类型

错误的子类型包括:

  • ReferenceError: 引用的变量不存在

  • TypeError: 数据类型不正确的错误

  • RangeError: 数据值不在其所允许的范围内

  • SyntaxError: 语法错误

常见的内置错误:

(1)ReferenceError: 引用变量不存在

console.log(a) //ReferenceError: a is not defined

(2)TypeError: 数据类型不正确

var b = {}
b.xxx() //TypeError: b.xxx is not a function

(3)RangeError: 数据值不在其所允许的范围内

function fn(){
fn()
}
fn() //RangeError: Maximum call stack size exceeded

(4)SyntaxError: 语法错误

const c = """" //SyntaxError: Unexpected string

2. 错误处理

捕获错误: try ... catch

抛出错误: throw error

(1)捕获错误

try {
  let d
  console.log(d.xxx)
} catch (error) { //可以通过调试查看error对象的属性(message属性: 错误相关信息;stack属性: 函数调用栈记录信息)
 console.log(error.message)
 //console.log(error.stack)
}
// 可以继续向下执行
console.log('出错之后')

(2)抛出错误

function something() {
  if (Date.now() % 2 === 1 ){
  console.log('当前时间为奇数,可执行任务')
  } else {
  throw new Error('当前时间为偶数无法执行任务')
  }
}

//情况1 直接调用
something() //Error: 当前时间为偶数无法执行任务
console.log('something之后') //不会继续这句代码(没有对异常进行处理)

//情况2 捕获处理异常
try {
 something()
} catch(error) {
 console.log(error.message)
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
jquery remove方法应用详解
Nov 22 Javascript
jQuery+css+html实现页面遮罩弹出框
Mar 21 Javascript
节点的插入之append()和appendTo()的用法介绍
Jan 13 Javascript
node.js中的fs.stat方法使用说明
Dec 16 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
Feb 28 Javascript
微信小程序模板template简单用法示例
Dec 04 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
Aug 19 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 #Javascript
Vue使用预渲染代替SSR的方法
Jul 02 #Javascript
node运行js获得输出的三种方式示例详解
Jul 02 #Javascript
基于小程序请求接口wx.request封装的类axios请求
Jul 02 #Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 #Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 #Javascript
JS字符串和数组如何实现相互转化
Jul 02 #Javascript
You might like
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
Python lxml模块安装教程
2015/06/02 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
python分数表示方式和写法
2019/06/26 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
python数据抓取3种方法总结
2021/02/07 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
新文化运动的基本口号
2014/06/21 职场文书
领导班子对照检查材料
2014/09/22 职场文书
初三英语教学计划
2015/01/23 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书