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实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
Angularjs基础知识及示例汇总
Jan 22 Javascript
Angularjs中UI Router全攻略
Jan 29 Javascript
js 判断各种数据类型的简单方法(推荐)
Aug 29 Javascript
jQuery实现移动端Tab选项卡效果
Mar 15 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
AngularJS中ng-class用法实例分析
Jul 06 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
bootstrap table服务端实现分页效果
Aug 10 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 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
PHP5中MVC结构学习
2006/10/09 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
深入理解PHP内核(一)
2015/11/10 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
JS如何把字符串转换成json
2020/02/21 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
python ddt实现数据驱动
2018/03/14 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
python中几种自动微分库解析
2019/08/29 Python
python 导入数据及作图的实现
2019/12/03 Python
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
生产文员岗位职责
2014/04/05 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
求职自我评价怎么写
2015/03/09 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
师德培训心得体会2016
2016/01/09 职场文书
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript