js中错误对象包括Error、EvalError、InternalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError。

通过Error的构造器可以创建一个错误对象。当运行时错误产生时,Error的实例对象会被抛出。Error对象也可用于用户自定义的异常的基础对象。下面列出了各种内建的标准错误类型。

语法

new Error([message[, fileName[,lineNumber]]])

参数

message

可选。人类可阅读的错误描述信息。

fileName 

可选。被创建的Error对象的fileName属性值。默认是调用Error构造器代码所在的文件 的名字。

lineNumber 

可选。被创建的Error对象的lineNumber属性值。默认是调用Error构造器代码所在的文件的行号。

当像函数一样使用 Error 时 -- 如果没有 new,它将返回一个 Error 对象。所以, 仅仅调用 Error 产生的结果与通过new 关键字构造 Error 对象生成的结果相同。

// this:
const x = Error('I was created using a function call!');
​​​​// has the same functionality as this:
const y = new Error('I was constructed via the "new" keyword!');

除了通用的Error构造函数外,JavaScript还有6个其他类型的错误构造函数,这6种都是继承了Error

EvalError
      创建一个error实例,表示错误的原因:与 eval() 有关。
InternalError 
      创建一个代表Javascript引擎内部错误的异常抛出的实例。 如: "递归太多".
RangeError
      创建一个error实例,表示错误的原因:数值变量或参数超出其有效范围。
ReferenceError
      创建一个error实例,表示错误的原因:无效引用。
SyntaxError
      创建一个error实例,表示错误的原因:eval()在解析代码的过程中发生的语法错误。
TypeError
      创建一个error实例,表示错误的原因:变量或参数不属于有效类型。
URIError
      创建一个error实例,表示错误的原因:给 encodeURI()或  decodeURl()传递的参数无效。

共同点是都可以在对象原型下添加自定义属性

可以取出来的参数有 message 和 stack 堆栈和name属性

try{bucunzaihanshu()  // 不存在函数必会报错
}catch(e){//TODO handle the exceptionconsole.log(e.message);console.log(e.stack);
}

try {throw new EvalError('Hello');
} catch (e) {console.log(e instanceof EvalError); // trueconsole.log(e.message);              // "Hello"console.log(e.name);                 // "EvalError"console.log(e.stack);                // "@Scratchpad/2:2:9\n"
}

其他就不举例了。

js中Error对象相关推荐

  1. 初学JavaScript:js中的对象(对象+原型对象)

    文章目录 js对象详解 1.创建对象 字面量模式创建对象 构造函数模式创建对象 2.访问对象 访问属性 访问方法 3.遍历对象中的属性和属性值 4.往对象中新添属性 5.删除对象中的属性 6.Obje ...

  2. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比

    JS中集合对象(Array.Map.Set)及类数组对象的使用与对比 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java ...

  3. Js中Reflect对象

    Js中Reflect对象 Reflect是ES6起JavaScript内置的对象,提供拦截JavaScript操作的方法,这些方法与Proxy对象的handlers中的方法基本相同. 描述 Refle ...

  4. Js中Proxy对象

    Js中Proxy对象 Proxy对象用于定义基本操作的自定义行为,例如属性查找.赋值.枚举.函数调用等. 语法 const proxy = new Proxy(target, handler); ta ...

  5. Js中Symbol对象

    Js中Symbol对象 ES6引入了一种新的基本数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一属性名,Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方 ...

  6. Js中Array对象

    Js中Array对象 JavaScript的Array对象是用于构造数组的全局对象,数组是类似于列表的高阶对象. 描述 在JavaScript中通常可以使用Array构造器与字面量的方式创建数组. c ...

  7. Js中Number对象

    Js中Number对象 JavaScript的Number对象是经过封装从而能够处理数字值的对象,Number对象由Number()构造器以及字面量声明的值在转化为包装对象时创建,JavaScript ...

  8. Js中String对象

    Js中String对象 String全局对象是一个用于字符串或一个字符序列的构造函数. 描述 创建一个字符串可以通过字面量的方式,通过字面量创建的字符串变量在调用方法的时候能够自动转化为临时的包装对象 ...

  9. Js中RegExp对象

    Js中RegExp对象 RegExp对象表示正则表达式,是由普通字符和特殊字符也叫元字符或限定符组成的文字模板,用于对字符串执行模式匹配. 描述 创建一个RegExp对象通常有两种方式,一种是通过字面 ...

  10. js实现小时钟,js中Date对象的使用?

    介绍一下js中Date对象的使用 dateObj = new Date() dateObj = new Date(dateValue) dateObj = new Date(year,month,da ...

最新文章

  1. python【蓝桥杯vip练习题库】ALGO-87字串统计(暴力)
  2. 第八章 PX4-SDlog解析
  3. 【Linux】cp命令
  4. github 头像生成 java_Java 如何根据头像地址生成圆形的头像?
  5. 表达式树练习实践:入门基础
  6. SpringApplication.run做了哪些事情
  7. POJ 1422 Air Raid
  8. 安卓第六夜 凡高的自画像
  9. 学习了时间和测试题目
  10. 企业的最佳选择?开放式混合云大行其道
  11. 道理都明白,为什么很难做到
  12. HDOJ--1596--find the safest road
  13. 便携式车用CAN分析仪-DBC解码、J1939和图形化分析
  14. pandas25 if else语句(多数据df选择)( tcy)
  15. 培训班作业---作业1:公羊母羊生小羊的问题
  16. Android连接MySQL数据库
  17. html thead作用,HTML thead 标签定义和用法详细介绍
  18. Unity获取物体下的子物体+只获取子物体
  19. 如何删除在System中打开的iso文件
  20. it行业 平均年龄_IT行业一线员工现状调查报告

热门文章

  1. 已知直线方程,计算直线对应的向量
  2. 求职信高中生计算机,高中生求职信.doc
  3. python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
  4. 快35了,还在“点点点”?那些入行几年的测试点工后来都怎么样了?
  5. vscode插件 中文一键转英文并生成多种命名格式 提效神器
  6. php edm 系统,edm.php · 那些年我们一起/fanwe - Gitee.com
  7. win11虚拟桌面如何使用 Windows11虚拟桌面的使用方法
  8. 计算机前沿讲座题目论文,计算机技术前沿讲座论文
  9. endnote中CWYW无文件_学者原创:Endnote快速入门及常见使用问题
  10. 找回任务栏显示桌面图标及Win7如何显示快速启动栏