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 相关文章推荐
利用javascript的面向对象的特性实现限制试用期
Aug 04 Javascript
js弹出层永远居中实现思路及代码
Nov 29 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
Jan 02 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
详解如何较好的使用js
Dec 16 Javascript
用js制作淘宝放大镜效果
Oct 28 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
react-native-fs实现文件下载、文本存储的示例代码
Sep 22 Javascript
浅谈webpack下的AOP式无侵入注入
Nov 12 Javascript
JS 事件机制完整示例分析
Jan 15 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
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 多个submit提交表单 处理方法
2009/07/07 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
js实现秒表计时器
2019/12/16 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
Python断言assert的用法代码解析
2018/02/03 Python
PyQt5每天必学之布局管理
2018/04/19 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
python实现五子棋游戏
2019/06/18 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
国际贸易个人求职信范文
2014/01/04 职场文书
五好党支部事迹材料
2014/02/06 职场文书
行政助理的岗位职责
2014/02/18 职场文书
给老师的一封建议书
2014/03/13 职场文书
开工典礼策划方案
2014/05/23 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
入党函调证明材料
2015/06/19 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers