node api 之:Error

时间:2024-01-13 10:04:26

Node.js 中运行的应用程序一般会遇到以下四类错误:

  1. 标准的 JavaScript 错误:
    <EvalError> : 当调用 eval() 失败时抛出。
    <SyntaxError> : 当 JavaScript 语法错误时抛出。
    <RangeError> : 当值不在预期范围内时抛出。
    <ReferenceError> : 当使用未定义的变量时抛出。
    <TypeError> : 当传入错误类型的参数时抛出。
    <URIError> : 当全局的 URI 处理函数被误用时抛出。
  2. 由底层操作系触发的系统错误,例如试图打开一个不存在的文件、试图通过一个已关闭的 socket 发送数据等。
  3. 由应用程序代码触发的用户自定义的错误。
  4. 断言错误是错误的一个特殊类别,每当 Node.js 检测到一个不应该发生的异常逻辑时触发。 这类错误通常由 assert 模块引起。
  • 所有由 Node.js 引起的 JavaScript 错误与系统错误都继承自或实例化自标准的 JavaScript <Error> 类,且保证至少提供类中的属性。

错误的冒泡和捕获

JavaScript 的 throw 机制的任何使用都会引起异常,异常必须使用 try / catch 处理,否则 Node.js 进程会立即退出。
除了少数例外,同步的 API(任何不接受 callback 函数的阻塞方法,例如 fs.readFileSync)会使用 throw 报告错误。