Node.js v20.3.1 文档


Node.js 错误代码#

ABORT_ERR#

当操作中止时使用(通常使用 AbortController)。

不使用 AbortSignal 的 API 通常不会引发此代码的错误。

此代码未使用 Node.js 错误使用的常规 ERR_* 约定,以便与网络平台的 AbortError 兼容。

ERR_ACCESS_DENIED#

每当 Node.js 尝试访问受 权限模型 限制的资源时,就会触发一种特殊类型的错误。

ERR_AMBIGUOUS_ARGUMENT#

函数参数的使用方式表明函数签名可能会被误解。 当 assert.throws(block, message) 中的 message 参数与 block 抛出的错误消息匹配时,则由 node:assert 模块抛出错误,因为这种用法表明用户认为 message 是预期的消息,而不是 block 不抛出时 AssertionError 将显示的消息。

ERR_ARG_NOT_ITERABLE#

需要可迭代的参数(即适用于 for...of 循环的值),但未提供给 Node.js API。

ERR_ASSERTION#

特殊类型的错误,每当 Node.js 检测到不应该发生的异常逻辑违规时就会触发。 这些通常由 node:assert 模块引发。

ERR_ASYNC_CALLBACK#

试图将不是函数的东西注册为 AsyncHooks 回调。

ERR_ASYNC_TYPE#

异步资源的类型无效。 如果使用公共的嵌入器 API,则用户还可以定义自己的类型。

ERR_BROTLI_COMPRESSION_FAILED#

传给 Brotli 流的数据未成功压缩。

ERR_BROTLI_INVALID_PARAM#

在构建 Brotli 流期间传入了无效的参数键。

ERR_BUFFER_CONTEXT_NOT_AVAILABLE#

尝试从插件或嵌入器代码创建 Node.js Buffer 实例,而在与 Node.js 实例无关的 JS 引擎上下文中。 传给 Buffer 方法的数据将在方法返回时被释放。

当遇到此错误时,创建 Buffer 实例的一种可能的替代方法是创建普通的 Uint8Array,它仅在生成的对象的原型上有所不同。 Uint8Array 在所有 Node.js 核心 API 中普遍接受,而 Buffer 是; 它们在所有上下文中都可用。

ERR_BUFFER_OUT_OF_BOUNDS#

尝试了超出 Buffer 范围的操作。

ERR_BUFFER_TOO_LARGE#

已尝试创建大于最大允许大小的 Buffer

ERR_CANNOT_WATCH_SIGINT#

Node.js 无法监视 SIGINT 信号。

ERR_CHILD_CLOSED_BEFORE_REPLY#

在父进程收到响应之前子进程已关闭。

ERR_CHILD_PROCESS_IPC_REQUIRED#

当在没有指定进程间通信通道的情况下衍生子进程时使用。

ERR_CHILD_PROCESS_STDIO_MAXBUFFER#

当主进程试图从子进程的标准错误或标准输出读取数据、并且数据的长度比 maxBuffer 选项长时使用。

ERR_CLOSED_MESSAGE_PORT#

曾试图在关闭状态下使用 MessagePort 实例,通常是在调用 .close() 之后。

ERR_CONSOLE_WRITABLE_STREAM#

Console 在没有 stdout 流的情况下被实例化,或者 Console 有不可写的 stdoutstderr 流。

ERR_CONSTRUCT_CALL_INVALID#

调用了不可调用的类构造函数。

ERR_CONSTRUCT_CALL_REQUIRED#

在没有 new 的情况下调用了类的构造函数。

ERR_CONTEXT_NOT_INITIALIZED#

传入 API 的虚拟机上下文尚未初始化。 这可能发生在上下文创建过程中发生(并被捕获)错误时,例如,当分配失败或在创建上下文时达到最大调用堆栈大小时。

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED#

所请求的 OpenSSL 引擎(例如,通过 clientCertEngineprivateKeyEngine TLS 选项)不受正在使用的 OpenSSL 版本的支持,可能是由于编译时标志 OPENSSL_NO_ENGINE

ERR_CRYPTO_ECDH_INVALID_FORMAT#

format 参数的无效值被传给 crypto.ECDH()getPublicKey() 方法。

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY#

key 参数的无效值已传给 crypto.ECDH()computeSecret() 方法。 这意味着公钥位于椭圆曲线之外。

ERR_CRYPTO_ENGINE_UNKNOWN#

无效的加密引擎标识符被传给 require('node:crypto').setEngine()

ERR_CRYPTO_FIPS_FORCED#

使用了 --force-fips 命令行参数,但尝试在 node:crypto 模块中启用或禁用 FIPS 模式。

ERR_CRYPTO_FIPS_UNAVAILABLE#

尝试启用或禁用 FIPS 模式,但 FIPS 模式不可用。

ERR_CRYPTO_HASH_FINALIZED#

hash.digest() 被多次调用。 对于 Hash 对象的每个实例,调用 hash.digest() 方法的次数不得超过一次。

ERR_CRYPTO_HASH_UPDATE_FAILED#

hash.update() 因任何原因失败。 这应该很少发生,如果有的话。

ERR_CRYPTO_INCOMPATIBLE_KEY#

给定的加密密钥与尝试的操作不兼容。

ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS#

所选的公钥或私钥编码与其他选项不兼容。

ERR_CRYPTO_INITIALIZATION_FAILED#

加密子系统初始化失败。

ERR_CRYPTO_INVALID_AUTH_TAG#

提供了无效的身份验证标签。

ERR_CRYPTO_INVALID_COUNTER#

为计数器模式密码提供了无效的计数器。

ERR_CRYPTO_INVALID_CURVE#

提供了无效的椭圆曲线。

ERR_CRYPTO_INVALID_DIGEST#

指定了无效的 加密摘要算法

ERR_CRYPTO_INVALID_IV#

提供了无效的初始化向量。

ERR_CRYPTO_INVALID_JWK#

提供了无效的 JSON 网络密钥。

ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE#

给定的加密密钥对象的类型对于尝试的操作无效。

ERR_CRYPTO_INVALID_KEYLEN#

提供了无效的密钥长度。

ERR_CRYPTO_INVALID_KEYPAIR#

提供了无效的密钥对。

ERR_CRYPTO_INVALID_KEYTYPE#

提供了无效的密钥类型。

ERR_CRYPTO_INVALID_MESSAGELEN#

提供了无效的消息长度。

ERR_CRYPTO_INVALID_SCRYPT_PARAMS#

提供了无效的 scrypt 算法参数。

ERR_CRYPTO_INVALID_STATE#

对处于无效状态的对象使用了加密方法。 例如,在调用 cipher.final() 之前调用 cipher.getAuthTag()

ERR_CRYPTO_INVALID_TAG_LENGTH#

提供了无效的身份验证标签长度。

ERR_CRYPTO_JOB_INIT_FAILED#

异步加密操作的初始化失败。

ERR_CRYPTO_JWK_UNSUPPORTED_CURVE#

Key 的椭圆曲线未注册用于 JSON Web 密钥椭圆曲线注册表

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE#

密钥的非对称密钥类型未注册用于 JSON Web 密钥类型注册表

ERR_CRYPTO_OPERATION_FAILED#

加密操作失败,原因不明。

ERR_CRYPTO_PBKDF2_ERROR#

PBKDF2 算法因不明原因失败。 OpenSSL 没有提供更多细节,因此 Node.js 也没有。

ERR_CRYPTO_SCRYPT_INVALID_PARAMETER#

一个或多个 crypto.scrypt()crypto.scryptSync() 参数超出其合法范围。

ERR_CRYPTO_SCRYPT_NOT_SUPPORTED#

Node.js 是在没有 scrypt 支持的情况下编译的。 官方发布的二进制文件不可能,但自定义构建可能会发生,包括发行版构建。

ERR_CRYPTO_SIGN_KEY_REQUIRED#

未向 sign.sign() 方法提供签名 key

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH#

crypto.timingSafeEqual() 是用不同长度的 BufferTypedArrayDataView 参数调用的。

ERR_CRYPTO_UNKNOWN_CIPHER#

指定了未知的密码。

ERR_CRYPTO_UNKNOWN_DH_GROUP#

给定了未知的 Diffie-Hellman 组名。 有关有效组名的列表,请参阅 crypto.getDiffieHellman()

ERR_CRYPTO_UNSUPPORTED_OPERATION#

尝试调用不受支持的加密操作。

ERR_DEBUGGER_ERROR#

debugger 发生错误。

ERR_DEBUGGER_STARTUP_ERROR#

debugger 在等待所需的主机/端口空闲时超时。

ERR_DLOPEN_DISABLED#

加载已使用 --no-addons 禁用的原生插件。

ERR_DLOPEN_FAILED#

调用 process.dlopen() 失败。

ERR_DIR_CLOSED#

fs.Dir 先前已关闭。

ERR_DIR_CONCURRENT_OPERATION#

尝试在具有正在进行的异步操作的 fs.Dir 上进行同步的读取或关闭的调用。

ERR_DNS_SET_SERVERS_FAILED#

c-ares 设置域名系统服务器失败。

ERR_DOMAIN_CALLBACK_NOT_AVAILABLE#

node:domain 模块不可用,因为它无法建立所需的错误处理钩子,因为 process.setUncaughtExceptionCaptureCallback() 已在较早的时间点被调用。

ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE#

无法调用 process.setUncaughtExceptionCaptureCallback(),因为 node:domain 模块已在较早的时间点加载。

堆栈跟踪扩展到包括加载 node:domain 模块的时间点。

ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION#

v8.startupSnapshot.setDeserializeMainFunction() 不能被调用,因为它之前已经被调用过。

ERR_ENCODING_INVALID_ENCODED_DATA#

根据提供的编码,提供给 TextDecoder() API 的数据无效。

ERR_ENCODING_NOT_SUPPORTED#

提供给 TextDecoder() API 的编码不是 WHATWG 支持的编码 之一。

ERR_EVAL_ESM_CANNOT_PRINT#

--print 不能与 ESM 输入一起使用。

ERR_EVENT_RECURSION#

当试图在 EventTarget 上递归调度事件时抛出。

ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE#

JS 执行上下文与 Node.js 环境无关。 当 Node.js 用作嵌入式库并且 JS 引擎的一些钩子没有正确地设置时,可能会发生这种情况。

ERR_FALSY_VALUE_REJECTION#

通过 util.callbackify() 回调的 Promise 使用非真值拒绝。

ERR_FEATURE_UNAVAILABLE_ON_PLATFORM#

当使用了运行 Node.js 的当前平台不可用的特性时使用。

ERR_FS_CP_DIR_TO_NON_DIR#

尝试使用 fs.cp() 将目录复制到非目录(文件、符号链接等)。

ERR_FS_CP_EEXIST#

试图使用 fs.cp()forceerrorOnExist 设置为 true)复制已经存在的文件。

ERR_FS_CP_EINVAL#

当使用 fs.cp()srcdest 指向无效路径时。

ERR_HTTP_BODY_NOT_ALLOWED#

写入不允许内容的 HTTP 响应时会抛出错误。

ERR_HTTP_CONTENT_LENGTH_MISMATCH#

响应正文大小与指定的内容长度标头值不匹配。

ERR_FS_CP_FIFO_PIPE#

试图使用 fs.cp() 复制命名管道。

ERR_FS_CP_NON_DIR_TO_DIR#

尝试使用 fs.cp() 将非目录(文件、符号链接等)复制到目录。

ERR_FS_CP_SOCKET#

试图使用 fs.cp() 复制到套接字。

ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY#

当使用 fs.cp() 时,dest 中的符号链接指向 src 的子目录。

ERR_FS_CP_UNKNOWN#

试图使用 fs.cp() 复制到未知的文件类型。

ERR_FS_EISDIR#

路径是目录。

ERR_FS_FILE_TOO_LARGE#

已尝试读取大小大于 Buffer 允许的最大大小的文件。

ERR_FS_INVALID_SYMLINK_TYPE#

传给 fs.symlink()fs.symlinkSync() 方法的符号链接类型无效。

ERR_HTTP_HEADERS_SENT#

在已发送标头后尝试添加更多标头。

ERR_HTTP_INVALID_HEADER_VALUE#

指定了无效的 HTTP 标头值。

ERR_HTTP_INVALID_STATUS_CODE#

状态代码超出了常规状态码的范围(100-999)。

ERR_HTTP_REQUEST_TIMEOUT#

客户端没有在允许的时间内发送整个请求。

ERR_HTTP_SOCKET_ASSIGNED#

给定的 ServerResponse 已经分配了一个套接字。

ERR_HTTP_SOCKET_ENCODING#

根据 RFC 7230 第 3 节,不允许更改套接字编码。

ERR_HTTP_TRAILER_INVALID#

即使传输编码不支持,也设置了 Trailer 标头。

ERR_HTTP2_ALTSVC_INVALID_ORIGIN#

HTTP/2 ALTSVC 帧需要有效的来源。

ERR_HTTP2_ALTSVC_LENGTH#

HTTP/2 ALTSVC 帧限制为最多 16,382 个有效载荷字节。

ERR_HTTP2_CONNECT_AUTHORITY#

对于使用 CONNECT 方法的 HTTP/2 请求,需要 :authority 伪标头。

ERR_HTTP2_CONNECT_PATH#

对于使用 CONNECT 方法的 HTTP/2 请求,禁止使用 :path 伪标头。

ERR_HTTP2_CONNECT_SCHEME#

对于使用 CONNECT 方法的 HTTP/2 请求,禁止使用 :scheme 伪标头。

ERR_HTTP2_ERROR#

发生了非特定的 HTTP/2 错误。

ERR_HTTP2_GOAWAY_SESSION#

新的 HTTP/2 流可能不会在 Http2Session 从连接的对等方接收到 GOAWAY 帧后打开。

ERR_HTTP2_HEADER_SINGLE_VALUE#

为只需要一个值的 HTTP/2 标头字段提供了多个值。

ERR_HTTP2_HEADERS_AFTER_RESPOND#

在启动 HTTP/2 响应后指定了额外的标头。

ERR_HTTP2_HEADERS_SENT#

试图发送多个响应头。

ERR_HTTP2_INFO_STATUS_NOT_ALLOWED#

信息性 HTTP 状态码(1xx)不能设置为 HTTP/2 响应的响应状态代码。

ERR_HTTP2_INVALID_CONNECTION_HEADERS#

HTTP/1 连接特定标头禁止在 HTTP/2 请求和响应中使用。

ERR_HTTP2_INVALID_HEADER_VALUE#

指定了无效的 HTTP/2 标头值。

ERR_HTTP2_INVALID_INFO_STATUS#

指定了无效的 HTTP 信息状态代码。 信息状态代码必须是 100199(含)之间的整数。

ERR_HTTP2_INVALID_ORIGIN#

HTTP/2 ORIGIN 帧需要有效的来源。

ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH#

传给 http2.getUnpackedSettings() API 的输入 BufferUint8Array 实例的长度必须是 6 的倍数。

ERR_HTTP2_INVALID_PSEUDOHEADER#

只能使用有效的 HTTP/2 伪标头(:status:path:authority:scheme:method)。

ERR_HTTP2_INVALID_SESSION#

对已被销毁的 Http2Session 对象执行了操作。

ERR_HTTP2_INVALID_SETTING_VALUE#

为 HTTP/2 设置指定了无效值。

ERR_HTTP2_INVALID_STREAM#

对已被销毁的流执行了操作。

ERR_HTTP2_MAX_PENDING_SETTINGS_ACK#

每当一个 HTTP/2 SETTINGS 帧被发送到连接的对端时,对端需要发送确认其已经收到并应用了新的 SETTINGS。 默认情况下,可以在任何给定时间发送最大数量的未确认 SETTINGS 帧。 当达到该限制时使用此错误码。

ERR_HTTP2_NESTED_PUSH#

试图从推送流中启动新的推送流。 不允许嵌套推送流。

ERR_HTTP2_NO_MEM#

使用 http2session.setLocalWindowSize(windowSize) API 时内存不足。

ERR_HTTP2_NO_SOCKET_MANIPULATION#

试图直接操作(读取、写入、暂停、恢复等)连接到 Http2Session 的套接字。

ERR_HTTP2_ORIGIN_LENGTH#

HTTP/2 ORIGIN 帧的长度限制为 16382 字节。

ERR_HTTP2_OUT_OF_STREAMS#

在单个 HTTP/2 会话上创建的流数达到了最大限制。

ERR_HTTP2_PAYLOAD_FORBIDDEN#

已为禁止负载的 HTTP 响应码指定了消息负载。

ERR_HTTP2_PING_CANCEL#

HTTP/2 发送回显信息被取消。

ERR_HTTP2_PING_LENGTH#

HTTP/2 发送回显信息负载的长度必须正好是 8 个字节。

ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED#

HTTP/2 伪标头使用不当。 伪标头是以 : 前缀开头的标头键名。

ERR_HTTP2_PUSH_DISABLED#

尝试创建推送流,但已被客户端禁用。

ERR_HTTP2_SEND_FILE#

尝试使用 Http2Stream.prototype.responseWithFile() API 发送目录。

ERR_HTTP2_SEND_FILE_NOSEEK#

尝试使用 Http2Stream.prototype.responseWithFile() API 发送常规文件以外的内容,但提供了 offsetlength 选项。

ERR_HTTP2_SESSION_ERROR#

Http2Session 以非零错误码关闭。

ERR_HTTP2_SETTINGS_CANCEL#

Http2Session 设置取消。

ERR_HTTP2_SOCKET_BOUND#

试图将 Http2Session 对象连接到已经绑定到另一个 Http2Session 对象的 net.Sockettls.TLSSocket

ERR_HTTP2_SOCKET_UNBOUND#

尝试使用已关闭的 Http2Sessionsocket 属性。

ERR_HTTP2_STATUS_101#

在 HTTP/2 中禁止使用 101 信息状态码。

ERR_HTTP2_STATUS_INVALID#

指定了无效的 HTTP 状态码。 状态码必须是介于 100599(含)之间的整数。

ERR_HTTP2_STREAM_CANCEL#

在将任何数据传输到连接的对等方之前,Http2Stream 已被破坏。

ERR_HTTP2_STREAM_ERROR#

RST_STREAM 帧中指定了非零错误码。

ERR_HTTP2_STREAM_SELF_DEPENDENCY#

当在为 HTTP/2 流设置优先级时,该流可能被标记为父流的依赖项。 当试图标记流并依赖于它自己时,将使用此错误码。

ERR_HTTP2_TOO_MANY_INVALID_FRAMES#

已超出通过 maxSessionInvalidFrames 选项指定的对等方发送的可接受的无效 HTTP/2 协议帧的限制。

ERR_HTTP2_TRAILERS_ALREADY_SENT#

已在 Http2Stream 上发送了尾随标头。

ERR_HTTP2_TRAILERS_NOT_READY#

Http2Stream 对象上触发 'wantTrailers' 事件之后,才能调用 http2stream.sendTrailers() 方法。 只有为 Http2Stream 设置了 waitForTrailers 选项,才会触发 'wantTrailers' 事件。

ERR_HTTP2_UNSUPPORTED_PROTOCOL#

http2.connect() 传入的网址使用除 http:https: 以外的任何协议。

ERR_ILLEGAL_CONSTRUCTOR#

尝试使用非公共构造函数构造对象。

ERR_IMPORT_ASSERTION_TYPE_FAILED#

导入断言失败,阻止导入指定的模块。

ERR_IMPORT_ASSERTION_TYPE_MISSING#

缺少导入断言,阻止导入指定的模块。

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED#

此版本的 Node.js 不支持导入断言。

ERR_INCOMPATIBLE_OPTION_PAIR#

选项对彼此不兼容,不能同时使用。

ERR_INPUT_TYPE_NOT_ALLOWED#

稳定性: 1 - 实验

--input-type 标志用于尝试执行文件。 此标志只能用于通过 --eval--printSTDIN 输入。

ERR_INSPECTOR_ALREADY_ACTIVATED#

在使用 node:inspector 模块时,当检查器已经开始监听端口时尝试激活。 在不同地址上激活之前使用 inspector.close()

ERR_INSPECTOR_ALREADY_CONNECTED#

在使用 node:inspector 模块时,当检查器已经连接时尝试连接。

ERR_INSPECTOR_CLOSED#

在使用 node:inspector 模块时,在会话已经关闭后尝试使用检查器。

ERR_INSPECTOR_COMMAND#

通过 node:inspector 模块触发命令时发生错误。

ERR_INSPECTOR_NOT_ACTIVE#

当调用 inspector.waitForDebugger() 时,inspector 未激活。

ERR_INSPECTOR_NOT_AVAILABLE#

node:inspector 模块无法使用。

ERR_INSPECTOR_NOT_CONNECTED#

在使用 node:inspector 模块时,尝试在连接前使用检查器。

ERR_INSPECTOR_NOT_WORKER#

在主线程上调用了只能从工作线程使用的 API。

ERR_INTERNAL_ASSERTION#

Node.js 中存在错误或 Node.js 内部使用不正确。 要修复该错误,请在 https://github.com/nodejs/node/issues 打开一个问题。

ERR_INVALID_ADDRESS_FAMILY#

Node.js API 无法识别提供的地址族。

ERR_INVALID_ARG_TYPE#

传给 Node.js API 的参数类型错误。

ERR_INVALID_ARG_VALUE#

为给定参数传入了无效或不受支持的值。

ERR_INVALID_ASYNC_ID#

使用 AsyncHooks 传入了无效的 asyncIdtriggerAsyncId。 小于 -1 的标识不应该发生。

ERR_INVALID_BUFFER_SIZE#

Buffer 上执行了交换,但其大小与操作不兼容。

ERR_INVALID_CHAR#

在标头中检测到无效字符。

ERR_INVALID_CURSOR_POS#

给定流上的游标不能移动到没有指定列的指定行。

ERR_INVALID_FD#

文件描述符无效(例如,它是负值)。

ERR_INVALID_FD_TYPE#

文件描述符的类型无效。

ERR_INVALID_FILE_URL_HOST#

使用 file: 网址的 Node.js API(例如 fs 模块中的某些函数)遇到了主机不兼容的文件网址。 这种情况只能发生在只支持 localhost 或空主机的类 Unix 系统上。

ERR_INVALID_FILE_URL_PATH#

使用 file: 网址的 Node.js API(例如 fs 模块中的某些函数)遇到路径不兼容的文件网址。 确定是否可以使用路径的确切语义是平台相关的。

ERR_INVALID_HANDLE_TYPE#

试图通过 IPC 通信通道将不受支持的 "handle" 发送到子进程。 有关详细信息,请参阅 subprocess.send()process.send()

ERR_INVALID_HTTP_TOKEN#

提供了无效的 HTTP 令牌。

ERR_INVALID_IP_ADDRESS#

IP 地址无效。

ERR_INVALID_MIME_SYNTAX#

MIME 语法无效。

ERR_INVALID_MODULE#

试图加载不存在或无效的模块。

ERR_INVALID_MODULE_SPECIFIER#

导入的模块字符串是无效的网址、包名称、或包子路径说明符。

ERR_INVALID_OBJECT_DEFINE_PROPERTY#

在对象的属性上设置无效属性时出错。

ERR_INVALID_PACKAGE_CONFIG#

无效的 package.json 文件解析失败。

ERR_INVALID_PACKAGE_TARGET#

package.json "exports" 字段包含用于尝试模块解析的无效目标映射值。

ERR_INVALID_PERFORMANCE_MARK#

在使用性能计时 API (perf_hooks) 时,性能标记无效。

ERR_INVALID_PROTOCOL#

无效的 options.protocol 被传给了 http.request()

ERR_INVALID_REPL_EVAL_CONFIG#

breakEvalOnSiginteval 选项都在 REPL 配置中设置,这是不支持的。

ERR_INVALID_REPL_INPUT#

输入不能在 REPL 中使用。 REPL 文档中描述了使用此错误的条件。

ERR_INVALID_RETURN_PROPERTY#

如果函数选项在执行时没有为其返回的对象属性之一提供有效值时,则抛出错误。

ERR_INVALID_RETURN_PROPERTY_VALUE#

如果函数选项在执行时没有为其返回的对象属性之一提供预期值类型时,则抛出错误。

ERR_INVALID_RETURN_VALUE#

如果函数选项在执行时没有返回预期的值类型时(例如当函数应该返回 promise),则抛出错误。

ERR_INVALID_STATE#

表示由于状态无效而无法完成操作。 例如,对象可能已经被销毁,或者可能正在执行另一个操作。

ERR_INVALID_SYNC_FORK_INPUT#

BufferTypedArrayDataViewstring 作为标准输入输出提供给异步的衍生。 有关更多信息,请参阅 child_process 模块的文档。

ERR_INVALID_THIS#

使用不兼容的 this 值调用了 Node.js API 函数

const urlSearchParams = new URLSearchParams('foo=bar&baz=new');

const buf = Buffer.alloc(1);
urlSearchParams.has.call(buf, 'foo');
// Throws a TypeError with code 'ERR_INVALID_THIS' 

ERR_INVALID_TRANSFER_OBJECT#

无效的传输对象被传给 postMessage()

ERR_INVALID_TUPLE#

提供给 WHATWG URLSearchParams constructoriterable 中的元素不代表 [name, value] 元组 – 也就是说,如果一个元素不可迭代,或者不完全由两个元素组成。

ERR_INVALID_URI#

传入了无效的网址。

ERR_INVALID_URL#

WHATWG URL constructor or the legacy url.parse() 传递了一个无效的 URL 进行解析。 抛出的错误对象通常有附加的属性 'input',其中包含解析失败的网址。

ERR_INVALID_URL_SCHEME#

试图将不兼容方案(协议)的网址用于特定目的。 它仅用于 fs 模块中的 WHATWG URL API 支持(仅接受具有 'file' 方案的 URL),但将来也可能用于其他 Node.js API。

ERR_IPC_CHANNEL_CLOSED#

尝试使用已关闭的进程间通信通道。

ERR_IPC_DISCONNECTED#

试图断开已经断开的进程间通信通道。 有关更多信息,请参阅 child_process 模块的文档。

ERR_IPC_ONE_PIPE#

尝试使用多个进程间通信通道创建子 Node.js 进程。 有关更多信息,请参阅 child_process 模块的文档。

ERR_IPC_SYNC_FORK#

尝试使用同步衍生的 Node.js 进程打开进程间通信通道。 有关更多信息,请参阅 child_process 模块的文档。

ERR_LOADER_CHAIN_INCOMPLETE#

返回 ESM 加载器钩子,没有调用 next(),也没有明确触发短路信号。

ERR_MANIFEST_ASSERT_INTEGRITY#

尝试加载资源,但该资源与策略清单定义的完整性不匹配。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_DEPENDENCY_MISSING#

已尝试加载资源,但该资源未列为尝试加载它的位置的依赖项。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_INTEGRITY_MISMATCH#

已尝试加载策略清单,但该清单包含多个彼此不匹配的资源条目。 更新清单条目以解决此错误。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_INVALID_RESOURCE_FIELD#

策略清单资源的其中一个字段的值无效。 更新清单条目以解决此错误。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_INVALID_SPECIFIER#

策略清单资源的依赖项映射之一具有无效值。 更新清单条目以匹配以解决此错误。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_PARSE_POLICY#

已尝试加载策略清单,但无法解析该清单。 有关详细信息,请参阅 policy 清单的文档。

ERR_MANIFEST_TDZ#

已尝试从策略清单中读取,但清单初始化尚未发生。 这可能是 Node.js 中的错误。

ERR_MANIFEST_UNKNOWN_ONERROR#

已加载策略清单,但其 "onerror" 行为具有未知值。 有关详细信息,请参阅 policy 清单的文档。

ERR_MEMORY_ALLOCATION_FAILED#

尝试分配内存(通常在 C++ 层),但是失败。

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE#

无法在目标 vm Context 中反序列化发布到 MessagePort 的消息。 目前并非所有 Node.js 对象都可以在任何上下文中成功实例化,在这种情况下,尝试使用 postMessage() 传输它们可能会在接收端失败。

ERR_METHOD_NOT_IMPLEMENTED#

需要方法,但未实现。

ERR_MISSING_ARGS#

未传入 Node.js API 的必需参数。 这仅用于严格遵守 API 规范(在某些情况下可能接受 func(undefined) 但不接受 func())。 在大多数原生 Node.js API 中,func(undefined)func() 的处理方式相同,可以使用 ERR_INVALID_ARG_TYPE 错误码代替。

ERR_MISSING_OPTION#

对于接受选项对象的 API,某些选项可能是强制性的。 如果缺少必需的选项,则会抛出此代码。

ERR_MISSING_PASSPHRASE#

已尝试在未指定密码的情况下读取加密密钥。

ERR_MISSING_PLATFORM_FOR_WORKER#

此 Node.js 实例使用的 V8 平台不支持创建工作线程。 这是由于缺乏对工作线程的嵌入支持造成的。 特别是,此错误不会发生在 Node.js 的标准构建中。

ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST#

需要在 transferList 参数中显式列出的对象在传给 postMessage() 调用的对象中,但未在 transferList 中为该调用提供。 通常,这是 MessagePort

在 v15.0.0 之前的 Node.js 版本中,这里使用的错误码是 ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST。 但是,可传输对象类型集已扩展到涵盖比 MessagePort 更多的类型。

ERR_MODULE_NOT_FOUND#

当尝试 import 操作或加载程序入口点时,ECMAScript 模块加载器无法解析模块文件。

ERR_MULTIPLE_CALLBACK#

回调被多次调用。

回调几乎总是意味着只被调用一次,因为查询可以被履行或被拒绝,但不能同时被执行。 后者可以通过多次调用回调来实现。

ERR_NAPI_CONS_FUNCTION#

在使用 Node-API 时,传入的构造函数不是函数。

ERR_NAPI_INVALID_DATAVIEW_ARGS#

在调用 napi_create_dataview() 时,给定的 offset 超出了数据视图的边界或 offset + length 大于给定的 buffer 的长度。

ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT#

在调用 napi_create_typedarray() 时,提供的 offset 不是元素大小的倍数

ERR_NAPI_INVALID_TYPEDARRAY_LENGTH#

在调用 napi_create_typedarray() 时,(length * size_of_element) + byte_offset 大于给定的 buffer 的长度。

ERR_NAPI_TSFN_CALL_JS#

调用线程安全函数的 JavaScript 部分时出错。

ERR_NAPI_TSFN_GET_UNDEFINED#

尝试检索 JavaScript undefined 值时出错。

ERR_NAPI_TSFN_START_IDLE_LOOP#

在主线程上,值从空闲循环中与线程安全函数关联的队列中删除。 此错误表示尝试启动循环时发生错误。

ERR_NAPI_TSFN_STOP_IDLE_LOOP#

一旦队列中没有更多的条目,则空闲循环必须暂停。 此错误表明空闲循环未能停止

ERR_NOT_BUILDING_SNAPSHOT#

尝试使用只能在构建 V8 启动快照时使用的操作,即使 Node.js 没有构建一个。

ERR_NOT_SUPPORTED_IN_SNAPSHOT#

尝试执行构建启动快照时不支持的操作。

ERR_NO_CRYPTO#

尝试使用加密特性,而 Node.js 没有使用 OpenSSL 加密支持进行编译。

ERR_NO_ICU#

已尝试使用需要 ICU 的功能,但 Node.js 未使用 ICU 支持进行编译。

ERR_NON_CONTEXT_AWARE_DISABLED#

在不允许加载的进程中加载​​了非上下文感知的原生插件。

ERR_OUT_OF_RANGE#

给定的值超出了可接受的范围。

ERR_PACKAGE_IMPORT_NOT_DEFINED#

package.json "imports" 字段未定义给定的内部包说明符映射。

ERR_PACKAGE_PATH_NOT_EXPORTED#

package.json "exports" 字段没有导出请求的子路径。 因为导出是封装的,没有导出的私有内部模块无法通过包解析导入,除非使用绝对网址。

ERR_PARSE_ARGS_INVALID_OPTION_VALUE#

strict 设置为 true 时,如果为 <string> 类型的选项提供了 <boolean> 值,或者为 <boolean> 类型的选项提供了 <string> 值,则由 util.parseArgs() 抛出异常。

ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL#

当提供位置参数并且 allowPositionals 设置为 false 时,由 util.parseArgs() 抛出。

ERR_PARSE_ARGS_UNKNOWN_OPTION#

strict 设置为 true 时,如果 options 中没有配置参数,则由 util.parseArgs() 抛出异常。

ERR_PERFORMANCE_INVALID_TIMESTAMP#

为性能标记或度量提供了无效的时间戳值。

ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS#

为性能度量提供了无效选项。

ERR_PROTO_ACCESS#

已禁止使用 --disable-proto=throw 访问 Object.prototype.__proto__Object.getPrototypeOfObject.setPrototypeOf 应该用于获取和设置对象的原型。

ERR_REQUIRE_ESM#

稳定性: 1 - 实验

已尝试对 require()ES 模块 进行操作。

ERR_SCRIPT_EXECUTION_INTERRUPTED#

脚本执行被 SIGINT 中断(例如,Ctrl+C 被按下。)

ERR_SCRIPT_EXECUTION_TIMEOUT#

脚本执行超时,可能是由于正在执行的脚本中存在错误。

ERR_SERVER_ALREADY_LISTEN#

net.Server 已经在监听时调用了 server.listen() 方法。 这适用于 net.Server 的所有实例,包括 HTTP、HTTPS 和 HTTP/2 Server 实例。

ERR_SERVER_NOT_RUNNING#

net.Server 未运行时调用了 server.close() 方法。 这适用于 net.Server 的所有实例,包括 HTTP、HTTPS 和 HTTP/2 Server 实例。

ERR_SOCKET_ALREADY_BOUND#

试图绑定已经绑定的套接字。

ERR_SOCKET_BAD_BUFFER_SIZE#

dgram.createSocket() 中的 recvBufferSizesendBufferSize 选项传入了无效的(负数的)大小。

ERR_SOCKET_BAD_PORT#

An API function expecting a port >= 0 and < 65536 收到无效值。

ERR_SOCKET_BAD_TYPE#

需要套接字类型(udp4udp6)的 API 函数收到无效值。

ERR_SOCKET_BUFFER_SIZE#

在使用 dgram.createSocket() 时,无法确定接收或发送 Buffer 的大小。

ERR_SOCKET_CLOSED#

试图在已经关闭的套接字上进行操作。

ERR_SOCKET_CLOSED_BEFORE_CONNECTION#

在连接套接字上调用 net.Socket.write() 时套接字在连接建立之前关闭。

ERR_SOCKET_CONNECTION_TIMEOUT#

使用系列自动选择算法时,套接字无法在允许的超时时间内连接到 DNS 返回的任何地址。

ERR_SOCKET_DGRAM_IS_CONNECTED#

在已连接的套接字上进行了 dgram.connect() 调用。

ERR_SOCKET_DGRAM_NOT_CONNECTED#

在断开连接的套接字上进行了 dgram.disconnect()dgram.remoteAddress() 调用。

ERR_SOCKET_DGRAM_NOT_RUNNING#

进行了调用,并且 UDP 子系统没有运行。

ERR_SRI_PARSE#

为子资源完整性检查提供了字符串,但无法解析。 通过查看 子资源完整性规范 检查完整性属性的格式。

ERR_STREAM_ALREADY_FINISHED#

调用的流方法无法完成,因为流已完成

ERR_STREAM_CANNOT_PIPE#

试图在 Writable 流上调用 stream.pipe()

ERR_STREAM_DESTROYED#

调用了无法完成的流方法,因为使用 stream.destroy() 销毁了该流。

ERR_STREAM_NULL_VALUES#

试图用 null 块调用 stream.write()

ERR_STREAM_PREMATURE_CLOSE#

stream.finished()stream.pipeline() 返回的错误,当流或管道以非正常方式结束且没有显式错误时。

ERR_STREAM_PUSH_AFTER_EOF#

在将 null(EOF)推送到流后,尝试调用 stream.push()

ERR_STREAM_UNSHIFT_AFTER_END_EVENT#

在触发 'end' 事件后尝试调用 stream.unshift()

ERR_STREAM_WRAP#

如果在套接字上设置了字符串解码器或解码器在 objectMode 中,则防止中止。

const Socket = require('node:net').Socket;
const instance = new Socket();

instance.setEncoding('utf8'); 

ERR_STREAM_WRITE_AFTER_END#

在调用 stream.end() 后尝试调用 stream.write()

ERR_STRING_TOO_LONG#

尝试创建长度超过最大允许长度的字符串。

ERR_SYNTHETIC#

用于捕获诊断报告调用堆栈的人为错误对象。

ERR_SYSTEM_ERROR#

Node.js 进程中发生了未指定或非特定的系统错误。 错误对象将具有带有附加详细信息的 err.info 对象属性。

ERR_TAP_LEXER_ERROR#

代表失败的词法分析器状态的错误。

ERR_TAP_PARSER_ERROR#

表示解析器状态失败的错误。 有关导致错误的令牌的其他信息可通过 cause 属性获得。

ERR_TAP_VALIDATION_ERROR#

此错误表示 TAP 验证失败。

ERR_TEST_FAILURE#

此错误表示测试失败。 有关失败的其他信息可通过 cause 属性获得。 failureType 属性指定发生故障时测试正在做什么。

ERR_TLS_CERT_ALTNAME_FORMAT#

如果用户提供的 subjectaltname 属性违反编码规则,则 checkServerIdentity 会抛出此错误。 Node.js 本身生成的证书对象始终符合编码规则,永远不会出现此错误。

ERR_TLS_CERT_ALTNAME_INVALID#

在使用 TLS 时,对等方的主机名/IP 与其证书中的任何 subjectAltNames 都不匹配。

ERR_TLS_DH_PARAM_SIZE#

在使用 TLS 时,为 Diffie-Hellman(DH)密钥协商协议提供的参数太小。 默认情况下,密钥长度必须大于或等于 1024 位以避免漏洞,尽管强烈建议使用 2048 位或更大以增强安全性。

ERR_TLS_HANDSHAKE_TIMEOUT#

TLS/SSL 握手超时。 在这种情况下,服务器也必须中止连接。

ERR_TLS_INVALID_CONTEXT#

上下文必须是 SecureContext

ERR_TLS_INVALID_PROTOCOL_METHOD#

指定的 secureProtocol 方法无效。 它要么未知,要么因为不安全而被禁用。

ERR_TLS_INVALID_PROTOCOL_VERSION#

有效的 TLS 协议版本为 'TLSv1''TLSv1.1''TLSv1.2'

ERR_TLS_INVALID_STATE#

必须连接并安全建立 TLS 套接字。 确保在继续之前触发 'secure' 事件。

ERR_TLS_PROTOCOL_VERSION_CONFLICT#

尝试设置 TLS 协议 minVersionmaxVersion 与尝试显式设置 secureProtocol 冲突。 使用一种或另一种机制。

ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED#

未能设置 PSK 身份提示。 提示可能太长。

ERR_TLS_RENEGOTIATION_DISABLED#

尝试在禁用重新协商的套接字实例上重新协商 TLS。

ERR_TLS_REQUIRED_SERVER_NAME#

在使用 TLS 时,调用 server.addContext() 方法时没有在第一个参数中提供主机名。

ERR_TLS_SESSION_ATTACK#

检测到过多的 TLS 重新协商,这是拒绝服务攻击的潜在载体。

ERR_TLS_SNI_FROM_SERVER#

试图从 TLS 服务器端套接字触发服务器名称指示,它仅对客户端有效。

ERR_TRACE_EVENTS_CATEGORY_REQUIRED#

trace_events.createTracing() 方法至少需要一个跟踪事件类别。

ERR_TRACE_EVENTS_UNAVAILABLE#

无法加载 node:trace_events 模块,因为 Node.js 是使用 --without-v8-platform 标志编译的。

ERR_TRANSFORM_ALREADY_TRANSFORMING#

Transform 流在它仍在转换时完成。

ERR_TRANSFORM_WITH_LENGTH_0#

Transform 流完成,数据仍在写入缓冲区中。

ERR_TTY_INIT_FAILED#

由于系统错误,终端的初始化失败。

ERR_UNAVAILABLE_DURING_EXIT#

函数在 process.on('exit') 句柄中调用,不应在 process.on('exit') 句柄中调用。

ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET#

process.setUncaughtExceptionCaptureCallback() 被调用了两次,没有先将回调重置为 null

此错误旨在防止意外覆盖从另一个模块注册的回调。

ERR_UNESCAPED_CHARACTERS#

收到包含未转义字符的字符串。

ERR_UNHANDLED_ERROR#

发生未处理的错误(例如,当 EventEmitter 触发 'error' 事件但未注册 'error' 句柄时)。

ERR_UNKNOWN_BUILTIN_MODULE#

用于识别通常不应由用户代码触发的特定类型的内部 Node.js 错误。 此错误的实例指向 Node.js 二进制文件本身的内部错误。

ERR_UNKNOWN_CREDENTIAL#

传入了不存在的 Unix 群组或用户标识符。

ERR_UNKNOWN_ENCODING#

传给 API 的编码选项无效或未知。

ERR_UNKNOWN_FILE_EXTENSION#

稳定性: 1 - 实验

试图加载具有未知或不受支持的文件扩展名的模块。

ERR_UNKNOWN_MODULE_FORMAT#

稳定性: 1 - 实验

试图加载格式未知或不受支持的模块。

ERR_UNKNOWN_SIGNAL#

无效或未知的进程信号已传给需要有效信号的 API(例如 subprocess.kill())。

ERR_UNSUPPORTED_DIR_IMPORT#

import 目录网址不受支持。 取而代之的是 package.json 文件的 "exports" 字段中的 使用包的名称自引用包定义自定义的子路径

import './'; // unsupported
import './index.js'; // supported
import 'package-name'; // supported 

ERR_UNSUPPORTED_ESM_URL_SCHEME#

不支持带有 filedata 以外的网址方案的 import

ERR_USE_AFTER_CLOSE#

稳定性: 1 - 实验

试图使用已经关闭的东西。

ERR_VALID_PERFORMANCE_ENTRY_TYPE#

在使用性能计时 API(perf_hooks)时,找不到有效的性能条目类型。

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING#

未指定动态导入回调。

ERR_VM_MODULE_ALREADY_LINKED#

由于以下原因之一,尝试链接的模块不符合链接条件:

  • 已链接(linkingStatus'linked'
  • 正在链接(linkingStatus'linking'
  • 此模块的链接失败(linkingStatus'errored'

ERR_VM_MODULE_CACHED_DATA_REJECTED#

传给模块构造函数的 cachedData 选项无效。

ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA#

不能为已经评估过的模块创建缓存数据。

ERR_VM_MODULE_DIFFERENT_CONTEXT#

从链接器函数返回的模块来自与父模块不同的上下文。 链接的模块必须共享相同的上下文。

ERR_VM_MODULE_LINK_FAILURE#

由于失败,模块无法链接。

ERR_VM_MODULE_NOT_MODULE#

链接 promise 的履行值不是 vm.Module 对象。

ERR_VM_MODULE_STATUS#

当前模块的状态不允许此操作。 错误的具体含义取决于具体的函数。

ERR_WASI_ALREADY_STARTED#

WASI 实例已经启动。

ERR_WASI_NOT_STARTED#

WASI 实例尚未启动。

ERR_WEBASSEMBLY_RESPONSE#

已传给 WebAssembly.compileStreamingWebAssembly.instantiateStreamingResponse 不是有效的 WebAssembly 响应。

ERR_WORKER_INIT_FAILED#

Worker 初始化失败。

ERR_WORKER_INVALID_EXEC_ARGV#

传给 Worker 构造函数的 execArgv 选项包含无效标志。

ERR_WORKER_NOT_RUNNING#

操作失败,因为 Worker 实例当前未运行。

ERR_WORKER_OUT_OF_MEMORY#

Worker 实例因达到其内存限制而终止。

ERR_WORKER_PATH#

工作线程主脚本的路径既不是绝对路径也不是以 ./../ 开头的相对路径。

ERR_WORKER_UNSERIALIZABLE_ERROR#

从工作线程序列化未捕获异常的所有尝试都失败了。

ERR_WORKER_UNSUPPORTED_OPERATION#

工作线程不支持请求的功能。

ERR_ZLIB_INITIALIZATION_FAILED#

由于配置不正确,创建 zlib 对象失败。

HPE_HEADER_OVERFLOW#

接收到了太多的 HTTP 标头数据。 为了防止恶意或错误配置的客户端,如果接收到超过 8 KiB 的 HTTP 标头数据,则 HTTP 解析将中止,而不会创建请求或响应对象,并且将触发带有此代码的 Error

HPE_UNEXPECTED_CONTENT_LENGTH#

服务器正在发送 Content-Length 标头和 Transfer-Encoding: chunked

Transfer-Encoding: chunked 允许服务器为动态生成的内容维护 HTTP 持久连接。 在这种情况下,无法使用 Content-Length HTTP 标头。

使用 Content-LengthTransfer-Encoding: chunked

MODULE_NOT_FOUND#

当尝试 require() 操作或加载程序入口点时,CommonJS 模块加载器无法解析模块文件。