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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
Jun 11 Javascript
Javascript 浮点运算的问题分析与解决方法
Aug 27 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
JavaScript优化专题之Loading and Execution加载和运行
Jan 20 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
React学习笔记之列表渲染示例详解
Aug 22 Javascript
js定时器+简单的动画效果实例
Nov 10 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 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高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
Python转码问题的解决方法
2008/10/07 Python
pyqt4教程之widget使用示例分享
2014/03/07 Python
python类继承用法实例分析
2014/10/10 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
优秀通讯员事迹材料
2014/01/28 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
学校安全管理责任书
2014/07/23 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
银行催款通知书
2015/04/17 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
初中美术教学反思
2016/02/17 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
Django如何与Ajax交互
2021/04/29 Python
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL