理解js中的Error

JavaScript09

理解js中的Error,第1张

通过 Error 构造器我们可以创建一个错误对象,当程序运行出错时,Error的实例对象就会被抛出。

注意 : fileName 和 lineNumber 参数是非标准的api,使用时需要注意其兼容。

除了通用的Error构造函数外, js还有6个其他类型的错误构造函数。

另外 : 还有一个非标准的错误构造函数 IntervalError : js引擎内部的错误, 如递归太多.

在Node.js中, 除了标准的js错误之外, 还有以下几类错误:

所有由 Node.js 引起的 JavaScript 错误与系统错误都继承自或实例化自标准的 JavaScript <Error> 类,且保证至少提供类中的属性。

在Node.js或某些浏览器环境中可能会包含 code, stack 等信息

Node.js中 : 对于所有的 EventEmitter 对象,如果没有提供一个 'error' 事件句柄,则错误会被抛出,并造成 Node.js 进程报告一个未处理的异常且随即崩溃,除非: 适当地使用 domain 模块或已经注册了一个 [ process.on('uncaughtException') ] 事件的句柄。

js的执行错误分为 语法syntaxError,和 runtime error,

首先, js引擎会检查 整个脚本的语法, 如果在检查语法的过程中,发现了错误, 比如括哈不配对, 字符串少了 另一半的引号等等, 那么一开始就不会执行...

但是, 语法正确, 脚本开始执行, 并不表示后面的执行过程一直都正确, 因为还会出现运行时的错误, 如: referenceError等错误.

如果你感觉没有语法错误, 而js从某个语句开始, 其后面的语句不能执行, 那么一定是 这个语句之前的 某个地方, 某个语句出错了. 所以 从这个语句开始之后的 代码就不能执行了.