JavaScript
主页 > 网络编程 > JavaScript >

详解javascript中的Error对象

2019-04-25 | 秩名 | 点击:
本篇文章介绍javascript中的Error对象。

概念

error是指程序中的非正常运行状态,在其他编程语言中称为“异常”或“错误”,解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息;

ECMAScript定义了六种类型的错误,除此之外,还可以使用Error构造方法创建自定义的Error对象,并使用throw语句抛出该对象;

六种错误:

      1)ReferenceError:引用错误,要用的东西没找到;
      2)TypeError:类型错误,错误的调用了对象的方法;
      3)RangeError:范围错误,专指参数超范围;
      4)SyntaxError:语法写错了;
      5)EvalError:eval()方法错误的使用;
      6)URIError:URI地址错误;


Error 的构造:

new Error();

new Error(message);//message:一条可选的错误消息,用于提供关于该异常的细节。

toString():返回一个表示该 Error 对象的预定义字符串。

Error 类实例表示的错误或异常通常配合 throw 和 try/catch 语句一起使用。name 属性指明该异常的类型,message 属性则提供了该异常的人类可读细节。   

JavaScript 解释器永远不会直接抛出 Error 对象,它只会抛出 Error 的子类,如 URIError、EvalError、SyntaxError 等。

我们通常在自己的代码中,抛出 Error 对象来发出异常信息会更加方便一些,或者使用一个原始字符串或数值来抛出一条错误消息或是一个错误代码。   

ECMAScript 标准为 Error 类定义了一个 toString()方法,且所有子类都继承了该方法,但它并不要求 toString() 方法返回的字符串包含 message 属性。

所以,不要太依赖或期望 toString() 方法会将一个 Error 对象转换为一个有意义的、人类可读的字符串。在向用户显示错误信息时,我们可以使用 Error 对象的 name 和 message 属性。

 



 

工作和学习中,常遇到的 Error 有: EvalError、 RangeError、 ReferenceError、 SyntexError、 TypeError、 URIError 。

 

原文链接:https://segmentfault.com/a/1190000018981416
相关文章
最新更新