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-Easyui 1.2 实现多层菜单效果的代码
Jan 13 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
js实现超酷的照片墙展示效果图附源码下载
Oct 08 Javascript
深入理解jQuery之事件移除
Jun 02 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
JS实现的3des+base64加密解密算法完整示例
May 18 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 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操作mysql数据库的基本类代码
2014/02/25 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
JavaScript 乱码问题
2009/08/06 Javascript
页面版文本框智能提示JS代码
2009/11/20 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
itchat接口使用示例
2017/10/23 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
应届生程序员求职信
2013/11/05 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
护林员个人总结
2015/03/04 职场文书
刑事上诉状范文
2015/05/22 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
MySQL里面的子查询的基本使用
2021/08/02 MySQL