JS中的Error对象
文章目录
- MDN文档
- 错误类型
- 错误处理
- 错误属性
- 借鉴链接
MDN文档
Error
错误类型
- Error:所有错误的父类型
- ReferenceError:引用的变量不存在
console.log(a);//ReferenceError: a is not defined
console.log(a);//ReferenceError: a is not definedconsole.log('-----');
注意第二行代码,当我写入上述两行代码时,控制台只打印了第一行代码的错误。这是因为没有捕获第一行代码的错误,所以下面的代码不会执行
- TypeError:数据类型不正确的错误
var a;
console.log(a.name);// TypeError: Cannot read properties of undefined (reading 'name')
var a = {};
console.log(a.sing());//TypeError: a.sing is not a function
4. RangeError:数据值不在其所允许的范围内
function fn(){fn()
}
fn();//RangeError: Maximum call stack size exceeded
5. SyntaxError:语法错误
int a;
console.log(a);// SyntaxError: Unexpected identifier
错误处理
- 捕获错误: try … catch
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
try{// 检测错误代码
}catch(err){// 捕获错误并处理
}
- 抛出错误: throw new Error
throw 语句抛出一个错误,当错误发生时,JavaScript 会停止执行并抛出错误信息
function fn(a,b){if(a > b){console.log(1);}else{throw new Error('我太难嘞')}
}
try{fn(3,4)
}catch(err){console.log(err.message);//我太难嘞
}
如果前一个参数的值小于第二个参数的,会抛出一个异常(err)异常 (err) 通过 catch 语句捕获并自定义输出错误信息
错误属性
- description: 错误描述 (仅IE可用).
- fileName: 出错的文件名 (仅Mozilla可用).
- lineNumber: 出错的行数 (仅Mozilla可用).
- message: 错误信息 (在IE下同description)
- name: 错误类型.
- number: 错误代码 (仅IE可用).
- stack: 像Java中的Stack Trace一样的错误堆栈信息
try{let a;console.log(a.name);}catch(error){console.log(error.message);// Cannot read properties of undefined (reading 'name')console.log(error.name);// TypeErrorconsole.log(error.stack);// TypeError: Cannot read properties of undefined (reading 'name') at Error.html:52console.log(error.description);// undefinedconsole.log(error.number);// undefinedconsole.log(error.fileName);// undefinedconsole.log(error.lineNumber);// undefined}
以上是在Chrome浏览器下的执行结果
借鉴链接
hiperion js 的try catch应用
JS中的Error对象相关推荐
- Nuxt.js 中定制 error.vue 错误缺省页
一.介绍 在Nuxt.js项目中,当接口报错或后台数据返回异常时,前端展示就会呈现接口报错的信息,这会给用户非常不好的体验.所以当出现404.500等应用错误时,我们可以在项目的根目录下创建layou ...
- js中的DOM对象和jQuery对象的比较
1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...
- js中两个对象的比较
代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...
- JavaScript -- 时光流逝(三):js中的 String 对象的方法
JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...
- js中关于Blob对象的介绍与使用
js中关于Blob对象的介绍与使用 blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js ...
- js mysql json字符串转数组中_php数据库数据转换为js中的json对象
/ 1.在company数据user表中取出10条数据,保存为数组 2.在将数组转化为json格式,传递给js 3.用json解析器将传递过来的json字符串转化为json对象, 4.用documen ...
- js中几个对象的区别和用法
js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...
- 【JS笔记】JS中的DOM对象以及通过JS获取DOM结点,操作DOM属性、DOM增删改查
这篇文章,主要介绍JS中的DOM对象以及通过JS获取DOM结点,操作DOM属性.DOM增删改查. 目录 一.JS中的DOM 1.1.什么是DOM 1.2.获取DOM结点 (1)获取htm ...
- JS中的event 对象详解
JS中的event 对象详解 JS的event对象 Event属性和方法: 1. type:事件的类型,如onlick中的click: 2. srcElement/target:事件源,就是发生事件的 ...
最新文章
- 树莓派学习笔记——GPIO功能学习
- 搭建分布式架构4--ZooKeeper注册中心安装
- 未越狱设备提取数据_从三星设备中提取健康数据
- Android自动化测试探索
- 自动生成考勤表_可自动变色的考勤表,逢周末自动更新,你会制作吗?
- MySQL的reset master
- [转]CocoaChina上一位工程师整理的开发经验(非常nice)
- 深度学习优化算法大全系列7:NAdam,算法选择,调参
- 手机qq2008触屏版_手机版卖家中心在哪里
- c语言谭浩强第八章函数PPT,清华大学C语言谭浩强第八章.ppt
- 国外最顶级的人工智能网站资源
- React之Hook(四)——使用 Effect Hook
- A*搜索 --算法竞赛专题解析(9)
- vue3组件之间通信(二)——子传父属性和方法
- automagica 调用windows画图以及登录qq
- Python opencv 在图片上写字
- python程序设计与算法基础江红答案_《Python程序设计与算法基础教程(第二版)》江红 余青松,第十一章课后习题答案...
- mac层到ath9k层,ath9k层到硬件层
- 不靠研发靠营销,云米科技没“科技”?
- 在线订货管理系统的特点
热门文章
- Android解包命令:unpackbootimg与打包命令:mkbootimg使用
- Linux设备驱动模型三 kset
- 建站基础知识之HTML 是何方神圣?
- c++字符串加密_【网络爬虫教学】快速定位拼多多加密算法入口(四)
- ssms 缺少索引信息_SQLServer索引重建
- 深度学习里面的正态分布
- springmvc05 传值
- 基础03String类、static、Arrays类、Math类
- access建立两个字段唯一索引_面试官:谈谈你对mysql索引的认识?
- python爬虫定时爬取_如何用框架给python爬虫定时?