在 Node.js 中运行的应用一般会遇到以下四类错误:
-
标准的 JavaScript 错误,例如:
- EvalError:当调用
eval()
失败时抛出。 - SyntaxError:当响应错误的 JavaScript 语法时抛出。
- RangeError:当一个值不在预期范围内时抛出。
- ReferenceError:当使用未定义的变量时抛出。
- TypeError:当传递错误类型的参数时抛出。
- URIError:当全局 URI 处理函数被误用时抛出。
- EvalError:当调用
-
由于底层操作系统的限制引发的系统错误。例如,试图打开不存在的文件,试图向一个已关闭的套接字发送数据等;
-
以及由应用程序代码触发的用户指定(User-specified)的错误。
-
断言错误是一种特殊的错误类型,只要 Node.js 检测到不应该发生的异常逻辑违例,就可以触发错误。这些通常由
assert
模块引发。
由 Node.js 提出的所有 JavaScript 和系统错误都继承自或是标准的 JavaScript 错误类的实例,并保证至少提供该类可用的属性。