錯誤#

在 Node.js 中執行的應用程式通常會遇到四種類別的錯誤

  • 標準 JavaScript 錯誤,例如 <EvalError><SyntaxError><RangeError><ReferenceError><TypeError><URIError>
  • 由底層作業系統限制所觸發的系統錯誤,例如嘗試開啟不存在的檔案或嘗試透過已關閉的 socket 傳送資料。
  • 由應用程式程式碼觸發的使用者指定錯誤。
  • AssertionError 是一種類型的特殊錯誤,當 Node.js 偵測到不應該發生的例外邏輯違規時會觸發。這些通常是由 node:assert 模組所引發。

由 Node.js 引發的所有 JavaScript 和系統錯誤都會繼承或成為標準 JavaScript <Error> 類別的實例,並保證提供該類別上至少可用的屬性。

錯誤傳播和攔截#

Node.js 支援多種機制來傳播和處理應用程式執行期間發生的錯誤。這些錯誤的報告和處理方式完全取決於 Error 的類型和所呼叫的 API 的樣式。

所有 JavaScript 錯誤都會視為例外,使用標準 JavaScript throw 機制立即產生並擲回錯誤。這些錯誤會使用 JavaScript 語言提供的 try…catch 建構 來處理。

// Throws with a ReferenceError because z is not defined.
try {
  const m = 1;
  const n = m + z;
} catch (err) {
  // Handle the error here.
} 

任何使用 JavaScript throw 機制的行為都會引發一個必須處理的例外,否則 Node.js 程序會立即結束。

除了少數例外,同步 API(任何不傳回 <Promise> 也不接受 callback 函式的封鎖方法,例如 fs.readFileSync)會使用 throw 來報告錯誤。

發生在非同步 API 中的錯誤可能會以多種方式報告

  • 有些非同步方法會傳回 <Promise>,您應始終考慮它可能會被拒絕。請參閱 --unhandled-rejections 旗標,了解處理程序將如何對應未處理的 Promise 拒絕。

    const fs = require('fs/promises');
    
    (async () => {
      let data;
      try {
        data = await fs.readFile('a file that does not exist');
      } catch (err) {
        console.error('There was an error reading the file!', err);
        return;
      }
      // Otherwise handle the data
    })(); 
  • 大多數接受 callback 函式的非同步方法會接受傳遞給該函式第一個引數的 Error 物件。如果第一個引數不是 null 且是 Error 的執行個體,則發生應處理的錯誤。

    const fs = require('node:fs');
    fs.readFile('a file that does not exist', (err, data) => {
      if (err) {
        console.error('There was an error reading the file!', err);
        return;
      }
      // Otherwise handle the data
    }); 
  • 當在 EventEmitter 物件上呼叫非同步方法時,錯誤可以路由到該物件的 'error' 事件。

    const net = require('node:net');
    const connection = net.connect('localhost');
    
    // Adding an 'error' event handler to a stream:
    connection.on('error', (err) => {
      // If the connection is reset by the server, or if it can't
      // connect at all, or on any sort of error encountered by
      // the connection, the error will be sent here.
      console.error(err);
    });
    
    connection.pipe(process.stdout); 
  • Node.js API 中少數通常為非同步的方法仍可能使用 throw 機制引發必須使用 try…catch 處理的例外狀況。沒有此類方法的完整清單;請參閱各方法的文件,以確定所需的適當錯誤處理機制。

'error' 事件機制的用途最常見於 基於串流基於事件發射器 的 API,它們本身表示隨著時間推移的一系列非同步操作(相對於可能通過或失敗的單一操作)。

對於所有 EventEmitter 物件,如果未提供 'error' 事件處理常式,則會引發錯誤,導致 Node.js 處理程序報告未捕捉的例外狀況並崩潰,除非:已為 'uncaughtException' 事件註冊處理常式,或使用已棄用的 node:domain 模組。

const EventEmitter = require('node:events');
const ee = new EventEmitter();

setImmediate(() => {
  // This will crash the process because no 'error' event
  // handler has been added.
  ee.emit('error', new Error('This will crash'));
}); 

以這種方式產生的錯誤無法使用 try…catch 攔截,因為它們在呼叫程式碼已結束之後才引發。

開發人員必須參閱各方法的文件,以確定這些方法所引發的錯誤是如何傳播的。

類別:Error#

一個泛用的 JavaScript <Error> 物件,不會表示錯誤發生的任何特定情況。Error 物件會擷取「堆疊追蹤」,詳細說明程式碼中建立 Error 的點,並可能會提供錯誤的文字說明。

Node.js 產生的所有錯誤,包括所有系統和 JavaScript 錯誤,都會是 Error 類別的實例,或繼承自 Error 類別。

new Error(message[, options])#

建立新的 Error 物件,並將 error.message 屬性設定為提供的文字訊息。如果傳遞物件作為 message,則會透過呼叫 String(message) 來產生文字訊息。如果提供了 cause 選項,則會將它指定給 error.cause 屬性。error.stack 屬性會表示呼叫 new Error() 的程式碼點。堆疊追蹤會依賴於 V8 的堆疊追蹤 API。堆疊追蹤只會延伸到 (a) 同步程式碼執行 的開頭,或 (b) 屬性 Error.stackTraceLimit 給定的框架數量(以較小者為準)。

Error.captureStackTrace(targetObject[, constructorOpt])#

targetObject 上建立一個 .stack 屬性,當存取時會傳回一個字串,表示呼叫 Error.captureStackTrace() 時的程式碼位置。

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack` 

追蹤的第一行會加上前綴 ${myObject.name}: ${myObject.message}

選用的 constructorOpt 參數接受一個函式。如果提供,所有在 constructorOpt 上方的框架,包含 constructorOpt,都會從產生的堆疊追蹤中省略。

constructorOpt 參數對於隱藏錯誤產生實作的細節對使用者很有用。例如

function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a(); 

Error.stackTraceLimit#

Error.stackTraceLimit 屬性指定堆疊追蹤收集的堆疊框架數目(無論是由 new Error().stackError.captureStackTrace(obj) 產生)。

預設值為 10,但可以設定為任何有效的 JavaScript 數字。變更會影響在變更值之後擷取的任何堆疊追蹤。

如果設定為非數字值,或設定為負數,堆疊追蹤不會擷取任何框架。

error.cause#

如果存在,error.cause 屬性是 Error 的根本原因。當捕捉一個錯誤並拋出一個訊息或代碼不同的新錯誤時,會使用它來存取原始錯誤。

error.cause 屬性通常透過呼叫 new Error(message, { cause }) 來設定。如果未提供 cause 選項,則不會透過建構函式設定。

這個屬性允許錯誤串接。序列化 Error 物件時,util.inspect() 會遞迴序列化 error.cause(如果已設定)。

const cause = new Error('The remote HTTP server responded with a 500 status');
const symptom = new Error('The message failed to send', { cause });

console.log(symptom);
// Prints:
//   Error: The message failed to send
//       at REPL2:1:17
//       at Script.runInThisContext (node:vm:130:12)
//       ... 7 lines matching cause stack trace ...
//       at [_line] [as _line] (node:internal/readline/interface:886:18) {
//     [cause]: Error: The remote HTTP server responded with a 500 status
//         at REPL1:1:15
//         at Script.runInThisContext (node:vm:130:12)
//         at REPLServer.defaultEval (node:repl:574:29)
//         at bound (node:domain:426:15)
//         at REPLServer.runBound [as eval] (node:domain:437:12)
//         at REPLServer.onLine (node:repl:902:10)
//         at REPLServer.emit (node:events:549:35)
//         at REPLServer.emit (node:domain:482:12)
//         at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
//         at [_line] [as _line] (node:internal/readline/interface:886:18) 

error.code#

error.code 屬性是一個字串標籤,用於識別錯誤類型。error.code 是識別錯誤最穩定的方式。它只會在 Node.js 的主要版本之間變更。相反地,error.message 字串可能會在任何版本的 Node.js 之間變更。有關特定程式碼的詳細資訊,請參閱 Node.js 錯誤程式碼

error.message#

error.message 屬性是錯誤的字串描述,透過呼叫 new Error(message) 來設定。傳遞給建構函式的 message 也會出現在 Error 堆疊追蹤的第一行,不過在建立 Error 物件後變更這個屬性可能不會變更堆疊追蹤的第一行(例如,在變更這個屬性之前讀取 error.stack 時)。

const err = new Error('The message');
console.error(err.message);
// Prints: The message 

error.stack#

error.stack 屬性是一個字串,描述建立 Error 的程式碼中的點。

Error: Things keep happening!
   at /home/gbusey/file.js:525:2
   at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21)
   at Actor.<anonymous> (/home/gbusey/actors.js:400:8)
   at increaseSynergy (/home/gbusey/actors.js:701:6) 

第一行格式為 <錯誤類別名稱>: <錯誤訊息>,後面接著一系列堆疊框架(每一行以「at」開頭)。每個框架描述導致產生錯誤的程式碼中的呼叫位置。V8 會嘗試為每個函式顯示名稱(依變數名稱、函式名稱或物件方法名稱),但偶爾無法找到合適的名稱。如果 V8 無法為函式判斷名稱,則只會為該框架顯示位置資訊。否則,判斷出的函式名稱會顯示在後面加上位置資訊的括號中。

框架僅為 JavaScript 函式產生。例如,如果執行同步通過稱為 cheetahify 的 C++ 外掛函式,而它本身呼叫 JavaScript 函式,則代表 cheetahify 呼叫的框架將不會出現在堆疊追蹤中

const cheetahify = require('./native-binding.node');

function makeFaster() {
  // `cheetahify()` *synchronously* calls speedy.
  cheetahify(function speedy() {
    throw new Error('oh no!');
  });
}

makeFaster();
// will throw:
//   /home/gbusey/file.js:6
//       throw new Error('oh no!');
//           ^
//   Error: oh no!
//       at speedy (/home/gbusey/file.js:6:11)
//       at makeFaster (/home/gbusey/file.js:5:3)
//       at Object.<anonymous> (/home/gbusey/file.js:10:1)
//       at Module._compile (module.js:456:26)
//       at Object.Module._extensions..js (module.js:474:10)
//       at Module.load (module.js:356:32)
//       at Function.Module._load (module.js:312:12)
//       at Function.Module.runMain (module.js:497:10)
//       at startup (node.js:119:16)
//       at node.js:906:3 

位置資訊會是下列其中之一

  • native,如果框架代表 V8 內部的呼叫(如 [].forEach)。
  • plain-filename.js:line:column,如果框架代表 Node.js 內部的呼叫。
  • /absolute/path/to/file.js:line:column,如果框架代表使用者程式(使用 CommonJS 模組系統)或其相依項目的呼叫。
  • <transport-protocol>:///url/to/module/file.mjs:line:column,如果框架代表使用者程式(使用 ES 模組系統)或其相依項目的呼叫。

表示堆疊追蹤的字串會在 error.stack 屬性存取時延遲產生。

堆疊追蹤擷取的框架數量會受到下列較小者限制:Error.stackTraceLimit 或目前事件迴圈滴答中可用的框架數量。

類別:AssertionError#

表示斷言失敗。有關詳細資訊,請參閱 類別:assert.AssertionError

類別:RangeError#

表示提供的引數不在函式的可接受值集合或範圍內;無論是數值範圍或在特定函式參數的選項集合之外。

require('node:net').connect(-1);
// Throws "RangeError: "port" option should be >= 0 and < 65536: -1" 

Node.js 會立即產生並擲回 RangeError 執行個體,作為引數驗證的一種形式。

類別:ReferenceError#

表示嘗試存取未定義的變數。此類錯誤通常表示程式碼中的錯字,或其他損毀的程式。

雖然用戶端程式碼可能會產生並傳播這些錯誤,但實際上只有 V8 會這麼做。

doesNotExist;
// Throws ReferenceError, doesNotExist is not a variable in this program. 

除非應用程式動態產生並執行程式碼,否則 ReferenceError 執行個體表示程式碼或其依賴項中的錯誤。

類別:SyntaxError#

表示程式不是有效的 JavaScript。這些錯誤可能只會在程式碼評估的結果中產生並傳播。程式碼評估可能是 evalFunctionrequirevm 的結果。這些錯誤幾乎總是表示程式已損毀。

try {
  require('node:vm').runInThisContext('binary ! isNotOk');
} catch (err) {
  // 'err' will be a SyntaxError.
} 

SyntaxError 執行個體在建立它們的內容中無法復原,只能由其他內容擷取。

類別:SystemError#

當 Node.js 在其執行時間環境中發生例外狀況時,會產生系統錯誤。這些通常發生在應用程式違反作業系統限制時。例如,如果應用程式嘗試讀取不存在的檔案,就會發生系統錯誤。

  • address <字串> 如果存在,則表示網路連線失敗的位址
  • code <字串> 字串錯誤碼
  • dest <字串> 如果存在,則表示報告檔案系統錯誤時的檔案路徑目的地
  • errno <數字> 系統提供的錯誤號碼
  • info <物件> 如果存在,則表示錯誤狀況的其他詳細資料
  • message <字串> 系統提供的錯誤人可讀取說明
  • path <字串> 如果存在,則為報告檔案系統錯誤時的檔案路徑
  • port <數字> 如果存在,則為無法使用的網路連線埠
  • syscall <字串> 觸發錯誤的系統呼叫名稱

error.address#

如果存在,error.address 是描述網路連線失敗的位址字串。

error.code#

error.code 屬性是表示錯誤代碼的字串。

error.dest#

如果存在,error.dest 是報告檔案系統錯誤時的檔案路徑目的地。

error.errno#

error.errno 屬性是對應於 libuv 錯誤處理 中定義的錯誤代碼的負數。

在 Windows 上,系統提供的錯誤號碼將由 libuv 正規化。

若要取得錯誤代碼的字串表示形式,請使用 util.getSystemErrorName(error.errno)

error.info#

如果存在,error.info 是包含錯誤狀態詳細資料的物件。

error.message#

error.message 是系統提供的錯誤人機可讀描述。

error.path#

如果存在,error.path 是包含相關無效路徑名稱的字串。

error.port#

如果存在,error.port 是不可用的網路連線埠。

error.syscall#

error.syscall 屬性是一個描述 syscall 失敗的字串。

常見的系統錯誤#

這是撰寫 Node.js 程式時常見的系統錯誤清單。如需完整清單,請參閱 errno(3) 手冊頁

  • EACCES(拒絕存取):嘗試以其檔案存取權限禁止的方式存取檔案。

  • EADDRINUSE(地址已使用):由於本地系統上的另一個伺服器已佔用該地址,因此嘗試將伺服器(nethttphttps)繫結到本地地址失敗。

  • ECONNREFUSED(拒絕連線):無法建立連線,因為目標機器主動拒絕。這通常是因為嘗試連線到外國主機上未啟用的服務所致。

  • ECONNRESET(同儕重設連線):連線被同儕強制關閉。這通常是因為遠端 socket 上的連線因逾時或重新開機而中斷。通常透過 httpnet 模組遇到。

  • EEXIST(檔案已存在):現有檔案為作業目標,但作業需要目標不存在。

  • EISDIR(為目錄):作業預期為檔案,但給定的路徑名稱為目錄。

  • EMFILE(系統中開啟的檔案過多):系統允許的最大檔案描述子數量已達上限,且在至少關閉一個檔案描述子之前,無法滿足其他描述子的要求。這會在一次開啟多個檔案時發生,特別是在檔案描述子限制較低的系統(尤其是 macOS)中。若要解決限制過低的問題,請在將執行 Node.js 程序的同一個 shell 中執行 ulimit -n 2048

  • ENOENT(無此類檔案或目錄):通常由fs作業提出,表示指定路徑名稱的組成不存在。系統無法透過給定的路徑找到任何實體(檔案或目錄)。

  • ENOTDIR(非目錄):給定路徑名稱的組成存在,但並非預期的目錄。通常由fs.readdir提出。

  • ENOTEMPTY(目錄非空):有項目的目錄為作業目標,但作業需要目錄為空,通常為fs.unlink

  • ENOTFOUND(DNS 查詢失敗):表示 DNS 失敗,可能是 EAI_NODATAEAI_NONAME。這不是標準 POSIX 錯誤。

  • EPERM(操作未獲許可):嘗試執行需要提升權限的作業。

  • EPIPE(中斷的管道):寫入沒有程序讀取資料的管道、套接字或 FIFO。通常在 nethttp 層中遇到,表示正在寫入的串流的遠端端點已關閉。

  • ETIMEDOUT(操作逾時):連線或傳送要求失敗,因為連線的另一端在一段時間後沒有適當地回應。通常由 httpnet 遇到。通常表示沒有正確呼叫 socket.end()

類別:TypeError#

表示提供的引數不是允許的類型。例如,將函式傳遞給預期字串的參數會產生 TypeError

require('node:url').parse(() => { });
// Throws TypeError, since it expected a string. 

Node.js 會立即產生並擲出 TypeError 執行個體,作為引數驗證的一種形式。

例外狀況與錯誤#

JavaScript 例外狀況是一個值,會因為無效的操作或作為 throw 陳述式的目標而擲出。雖然不需要這些值是 Error 的執行個體或繼承自 Error 的類別,但 Node.js 或 JavaScript 執行時期擲出的所有例外狀況都會Error 的執行個體。

有些例外狀況在 JavaScript 層是無法復原的。此類例外狀況總是會導致 Node.js 程序崩潰。範例包括 C++ 層中的 assert() 檢查或 abort() 呼叫。

OpenSSL 錯誤#

源自 cryptotls 的錯誤屬於 Error 類別,除了標準的 .code.message 屬性之外,還可能有一些額外的 OpenSSL 特定屬性。

error.opensslErrorStack#

一個錯誤陣列,可以提供 OpenSSL 函式庫中錯誤來源的背景資訊。

error.function#

錯誤來源的 OpenSSL 函式。

error.library#

錯誤來源的 OpenSSL 函式庫。

error.reason#

描述錯誤原因的人類可讀字串。

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 是預期的訊息,而不是 AssertionErrorblock 沒有拋出時會顯示的訊息。

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 實例無關聯的 JS 引擎 Context 中,從附加元件或嵌入式程式碼建立 Node.js Buffer 實例時發生錯誤。傳遞給 Buffer 方法的資料會在方法傳回時釋放。

遇到此錯誤時,建立 Buffer 實例的替代方案可能是建立一個正常的 Uint8Array,它只與結果物件的原型不同。Uint8Array 通常在所有 Buffer 可用的 Node.js 核心 API 中被接受;它們在所有 Context 中都可用。

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#

在沒有指定 IPC 通道的情況下分岔子程式的時使用。

ERR_CHILD_PROCESS_STDIO_MAXBUFFER#

當主程序嘗試從子程序的 STDERR/STDOUT 讀取資料,而資料長度大於 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 的 vm 背景尚未初始化。這可能會在建立背景時發生錯誤(且已捕獲)時發生,例如,在建立背景時,配置失敗或達到最大呼叫堆疊大小。

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED#

要求的 OpenSSL 引擎(例如,透過 clientCertEngineprivateKeyEngine TLS 選項)不受使用的 OpenSSL 版本支援,可能是因為編譯時旗標 OPENSSL_NO_ENGINE

ERR_CRYPTO_ECDH_INVALID_FORMAT#

傳遞給 crypto.ECDH() 類別 getPublicKey() 方法的 format 引數值無效。

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY#

傳遞給 crypto.ECDH() 類別 computeSecret() 方法的 key 引數值無效。這表示公開金鑰不在橢圓曲線之外。

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 Web Key。

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#

金鑰的橢圓曲線未註冊供 JSON Web Key Elliptic Curve Registry 使用。

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE#

金鑰的不對稱金鑰類型未註冊供 JSON Web Key Types Registry 使用。

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() 方法。

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#

發生 偵錯器 錯誤。

ERR_DEBUGGER_STARTUP_ERROR#

在等待必要的 host/port 空閒時,偵錯器 超時。

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 無法設定 DNS 伺服器。

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() 複製到 socket。

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 已指定一個 socket。

ERR_HTTP_SOCKET_ENCODING#

根據 RFC 7230 第 3 節,不允許變更 socket 編碼。

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#

Http2Session 從連線對等方收到 GOAWAY 框架後,可能無法開啟新的 HTTP/2 串流。

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/2 要求和回應中使用特定於 HTTP/1 連線的標頭。

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 的 socket。

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 ping。

ERR_HTTP2_PING_LENGTH#

HTTP/2 ping 酬載長度必須恰好為 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_CUSTOM_SETTINGS#

已超過支援的客製設定數目 (10)。

ERR_HTTP2_TOO_MANY_INVALID_FRAMES#

已超過對等方傳送的可接受無效 HTTP/2 協定框架限制,如透過 maxSessionInvalidFrames 選項所指定。

ERR_HTTP2_TRAILERS_ALREADY_SENT#

已在 Http2Stream 上傳送尾端標頭。

ERR_HTTP2_TRAILERS_NOT_READY#

Http2Stream 物件上發出 'wantTrailers' 事件之前,無法呼叫 http2stream.sendTrailers() 方法。只有當為 Http2Stream 設定 waitForTrailers 選項時,才會發出 'wantTrailers' 事件。

ERR_HTTP2_UNSUPPORTED_PROTOCOL#

http2.connect() 傳遞的 URL 使用 http:https: 以外的任何協定。

ERR_ILLEGAL_CONSTRUCTOR#

嘗試使用非公開建構函式建構物件。

ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE#

提供了匯入 type 屬性,但指定的模組為不同類型。

ERR_IMPORT_ATTRIBUTE_MISSING#

缺少匯入屬性,導致無法匯入指定的模組。

ERR_IMPORT_ATTRIBUTE_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。id 小於 -1 絕不會發生。

ERR_INVALID_BUFFER_SIZE#

Buffer 執行交換,但其大小與操作不相容。

ERR_INVALID_CHAR#

在標頭中偵測到無效字元。

ERR_INVALID_CURSOR_POS#

無法在未指定欄位的情況下,將指定串流上的游標移至指定列。

ERR_INVALID_FD#

檔案描述符 ('fd') 無效(例如,為負值)。

ERR_INVALID_FD_TYPE#

檔案描述符 ('fd') 類型無效。

ERR_INVALID_FILE_URL_HOST#

使用 file: URL 的 Node.js API(例如 fs 模組中的特定函式)遇到具有不相容主機的檔案 URL。此情況僅會發生在僅支援 localhost 或空主機的類 Unix 系統上。

ERR_INVALID_FILE_URL_PATH#

使用 file: URL 的 Node.js API(例如 fs 模組中的特定函式)遇到具有不相容路徑的檔案 URL。用於判斷路徑是否可用的精確語意取決於平台。

ERR_INVALID_HANDLE_TYPE#

嘗試透過 IPC 通訊通道將不支援的「控制代碼」傳送給子處理程序。請參閱 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#

匯入的模組字串為無效的 URL、套件名稱或套件子路徑指定符。

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.protocolhttp.request()

ERR_INVALID_REPL_EVAL_CONFIG#

REPL 設定中同時設定 breakEvalOnSiginteval 選項,此設定不受支援。

ERR_INVALID_REPL_INPUT#

無法在 REPL 中使用輸入。此錯誤發生的條件在 REPL 文件中說明。

ERR_INVALID_RETURN_PROPERTY#

如果函數選項在執行時未提供其回傳物件屬性之一的有效值,則會擲回此錯誤。

ERR_INVALID_RETURN_PROPERTY_VALUE#

如果函數選項在執行時未提供其回傳物件屬性之一的預期值類型,則會擲回此錯誤。

ERR_INVALID_RETURN_VALUE#

如果函數選項在執行時未回傳預期的值類型,例如當函數預期回傳承諾時,則會擲回此錯誤。

ERR_INVALID_STATE#

表示因無效狀態而無法完成操作。例如,物件可能已遭毀損,或可能正在執行其他操作。

ERR_INVALID_SYNC_FORK_INPUT#

BufferTypedArrayDataViewstring 已提供為非同步分岔的 stdio 輸入。請參閱 child_process 模組的文件以取得更多資訊。

ERR_INVALID_THIS#

Node.js API 函數已使用不相容的 this 值呼叫。

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_TUPLE#

提供給 WHATWG URLSearchParams 建構函式iterable 中的元素並未表示 [name, value] 元組,亦即如果元素不可迭代,或不包含兩個元素。

ERR_INVALID_URI#

傳遞了無效的 URI。

ERR_INVALID_URL#

傳遞了無效的 URL 給 WHATWG URL 建構函式 或舊版的 url.parse() 進行剖析。拋出的錯誤物件通常會有一個額外的屬性 'input',其中包含無法剖析的 URL。

ERR_INVALID_URL_SCHEME#

嘗試使用不兼容的 URL 架構 (協定) 來進行特定目的。它只用於 fs 模組中 WHATWG URL API 支援 (僅接受架構為 'file' 的 URL),但未來也可能用於其他 Node.js API。

ERR_IPC_CHANNEL_CLOSED#

嘗試使用已關閉的 IPC 通訊管道。

ERR_IPC_DISCONNECTED#

嘗試中斷已中斷的 IPC 通訊管道。請參閱 child_process 模組的說明文件以取得更多資訊。

ERR_IPC_ONE_PIPE#

嘗試使用多個 IPC 通訊管道來建立子 Node.js 程序。請參閱 child_process 模組的說明文件以取得更多資訊。

ERR_IPC_SYNC_FORK#

嘗試使用同步分叉的 Node.js 程序開啟 IPC 通訊頻道。如需更多資訊,請參閱 child_process 模組的說明文件。

ERR_LOADER_CHAIN_INCOMPLETE#

ESM 載入器掛鉤在未呼叫 next() 且未明確發出短路訊號的情況下傳回。

ERR_MANIFEST_ASSERT_INTEGRITY#

嘗試載入資源,但資源與政策清單定義的完整性不符。如需更多資訊,請參閱 政策 清單的說明文件。

ERR_MANIFEST_DEPENDENCY_MISSING#

嘗試載入資源,但資源未列為嘗試載入它的位置的相依性。如需更多資訊,請參閱 政策 清單的說明文件。

ERR_MANIFEST_INTEGRITY_MISMATCH#

嘗試載入政策清單,但清單中有多個資源項目不互相匹配。更新清單項目以使其匹配,以解決此錯誤。如需更多資訊,請參閱 政策 清單的說明文件。

ERR_MANIFEST_INVALID_RESOURCE_FIELD#

政策清單資源的其中一個欄位具有無效值。更新清單項目以使其匹配,以解決此錯誤。如需更多資訊,請參閱 政策 清單的說明文件。

ERR_MANIFEST_INVALID_SPECIFIER#

政策清單資源對其相依性對應之一具有無效值。更新清單項目以符合,以解決此錯誤。請參閱政策清單的文件,以取得更多資訊。

ERR_MANIFEST_PARSE_POLICY#

嘗試載入政策清單,但無法剖析清單。請參閱政策清單的文件,以取得更多資訊。

ERR_MANIFEST_TDZ#

嘗試從政策清單讀取,但清單初始化尚未發生。這可能是 Node.js 中的錯誤。

ERR_MANIFEST_UNKNOWN_ONERROR#

已載入政策清單,但其「onerror」行為具有未知值。請參閱政策清單的文件,以取得更多資訊。

ERR_MEMORY_ALLOCATION_FAILED#

嘗試配置記憶體(通常在 C++ 層),但失敗。

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE#

傳送到MessagePort的訊息無法在目標vmContext中反序列化。目前並非所有 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 平臺不支援建立 Worker。這是因為嵌入器不支援 Worker 所導致。特別是,標準的 Node.js 建置不會發生此錯誤。

ERR_MODULE_NOT_FOUND#

ECMAScript 模組載入器在嘗試執行 import 作業或載入程式進入點時,無法解析模組檔案。

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#

儘管 Node.js 沒有建置 V8 啟動快照,但仍嘗試使用只能在建置 V8 啟動快照時使用的操作。

ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION#

當不在單一可執行檔應用程式中時,無法執行此操作。

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" 欄位未匯出所要求的子路徑。由於匯出已封裝,因此無法透過套件解析匯入未匯出的私人內部模組,除非使用絕對 URL。

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_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND#

傳遞了一個金鑰給單一可執行應用程式 API 來識別資產,但找不到任何符合條件的項目。

ERR_SOCKET_ALREADY_BOUND#

嘗試繫結一個已經繫結的 socket。

ERR_SOCKET_BAD_BUFFER_SIZE#

dgram.createSocket() 中傳遞給 recvBufferSizesendBufferSize 選項的無效 (負數) 大小。

ERR_SOCKET_BAD_PORT#

一個 API 函式預期一個埠 >= 0 且 < 65536,但收到了無效值。

ERR_SOCKET_BAD_TYPE#

API 函數預期一個 socket 類型 (udp4udp6) 接收無效值。

ERR_SOCKET_BUFFER_SIZE#

使用 dgram.createSocket() 時,無法確定接收或傳送 Buffer 的大小。

ERR_SOCKET_CLOSED#

嘗試對已關閉的 socket 進行操作。

ERR_SOCKET_CLOSED_BEFORE_CONNECTION#

在連線 socket 上呼叫 net.Socket.write() 時,且在建立連線前 socket 已關閉。

ERR_SOCKET_CONNECTION_TIMEOUT#

使用家族自動選取演算法時,socket 無法在允許的逾時時間內連線到 DNS 回傳的任何位址。

ERR_SOCKET_DGRAM_IS_CONNECTED#

已連線的 socket 上呼叫 dgram.connect()

ERR_SOCKET_DGRAM_NOT_CONNECTED#

在已中斷的 socket 上呼叫 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#

如果在 Socket 上設定字串解碼器,或如果解碼器處於 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_ALPN_CALLBACK_INVALID_RESULT#

ALPNCallback 傳回的值不在用戶端提供的 ALPN 協定清單中時,會擲出此錯誤。

ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS#

如果 TLS 選項同時包含 ALPNProtocolsALPNCallback,在建立 TLSServer 時會擲出此錯誤。這些選項互斥。

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 Socket 必須已連線且安全建立。請確保在繼續之前已發出「安全」事件。

ERR_TLS_PROTOCOL_VERSION_CONFLICT#

嘗試設定 TLS 協定 minVersionmaxVersion 與明確設定 secureProtocol 衝突。使用其中一種機制。

ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED#

無法設定 PSK 身分提示。提示可能太長。

ERR_TLS_RENEGOTIATION_DISABLED#

嘗試在已停用重新協商的 socket 實例上重新協商 TLS。

ERR_TLS_REQUIRED_SERVER_NAME#

使用 TLS 時,呼叫 server.addContext() 方法,但未在第一個參數中提供主機名稱。

ERR_TLS_SESSION_ATTACK#

偵測到過量的 TLS 重新協商,這可能是阻斷服務攻擊的潛在媒介。

ERR_TLS_SNI_FROM_SERVER#

嘗試從 TLS 伺服器端 socket 發出伺服器名稱指示,這僅在用戶端有效。

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#

TTY 初始化因系統錯誤而失敗。

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 目錄 URL 不受支援。請改為 使用名稱自我參照套件,並在 "exports" 欄位中 定義自訂子路徑 package.json 檔案。

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

ERR_UNSUPPORTED_ESM_URL_SCHEME#

import 不支援 filedata 以外的 URL 架構。

ERR_UNSUPPORTED_RESOLVE_REQUEST#

嘗試解析無效的模組參考。這可能發生在使用下列方式匯入或呼叫 import.meta.resolve() 的情況:

  • URL 架構不是 file 的模組中的非內建模組的單純規格。
  • 一個 相對 URL 來自一個 URL 架構不是 特殊架構 的模組。
try {
  // Trying to import the package 'bare-specifier' from a `data:` URL module:
  await import('data:text/javascript,import "bare-specifier"');
} catch (e) {
  console.log(e.code); // ERR_UNSUPPORTED_RESOLVE_REQUEST
} 

ERR_USE_AFTER_CLOSE#

穩定性:1 - 實驗性

嘗試使用已經關閉的某個東西。

ERR_VALID_PERFORMANCE_ENTRY_TYPE#

使用效能計時 API(perf_hooks)時,找不到任何有效的效能項目類型。

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG#

在沒有 --experimental-vm-modules 的情況下,呼叫動態匯入回呼。

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#

連結承諾的已完成值不是 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 標頭資料。為了防範惡意或設定錯誤的用戶端,如果收到的 HTTP 標頭資料超過 8 KiB,則 HTTP 分析會中斷,且不會建立要求或回應物件,並會發出具有此程式碼的 Error

HPE_CHUNK_EXTENSIONS_OVERFLOW#

收到過多的區塊擴充資料。為了防範惡意或設定錯誤的用戶端,如果收到的資料超過 16 KiB,則會發出具有此程式碼的 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 模組載入器無法解析模組檔案。

舊版 Node.js 錯誤程式碼#

穩定性:0 - 已棄用。這些錯誤程式碼不一致或已移除。

ERR_CANNOT_TRANSFER_OBJECT#

傳遞給 postMessage() 的值包含一個不支援傳輸的物件。

ERR_CRYPTO_HASH_DIGEST_NO_UTF16#

UTF-16 編碼已與 hash.digest() 一起使用。雖然 hash.digest() 方法允許傳遞 encoding 參數,導致方法傳回字串而非 Buffer,但 UTF-16 編碼(例如 ucsutf16le)不受支援。

ERR_HTTP2_FRAME_ERROR#

在 HTTP/2 會話中傳送個別框架時發生錯誤時使用。

ERR_HTTP2_HEADERS_OBJECT#

預期 HTTP/2 標頭物件時使用。

ERR_HTTP2_HEADER_REQUIRED#

HTTP/2 訊息中缺少必要標頭時使用。

ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND#

HTTP/2 資訊標頭只能在呼叫 Http2Stream.prototype.respond() 方法之前傳送。

ERR_HTTP2_STREAM_CLOSED#

已對已關閉的 HTTP/2 串流執行動作時使用。

ERR_HTTP_INVALID_CHAR#

在 HTTP 回應狀態訊息(原因字串)中找到無效字元時使用。

ERR_INDEX_OUT_OF_RANGE#

指定的索引超出可接受範圍(例如負數偏移)。

ERR_INVALID_OPT_VALUE#

在選項物件中傳入無效或意外的值。

ERR_INVALID_OPT_VALUE_ENCODING#

傳入無效或未知的檔案編碼。

ERR_INVALID_TRANSFER_OBJECT#

傳入無效的傳輸物件至 postMessage()

ERR_IMPORT_ASSERTION_TYPE_FAILED#

匯入斷言失敗,導致無法匯入指定的模組。

ERR_IMPORT_ASSERTION_TYPE_MISSING#

缺少匯入斷言,導致無法匯入指定的模組。

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED#

此版本的 Node.js 不支援匯入屬性。

ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST#

此錯誤碼已在 Node.js v15.0.0 中由 ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST 取代,因為現在存在其他類型的可傳輸物件,因此不再準確。

ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST#

傳遞給 postMessage() 呼叫的物件中,有一個物件需要明確列在 transferList 參數中,但未提供在該呼叫的 transferList 中。通常,這是一個 MessagePort

在 v15.0.0 之前的 Node.js 版本中,這裡使用的錯誤碼是 ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST。但是,可傳輸物件類型的集合已擴充為涵蓋比 MessagePort 更多的類型。

ERR_NAPI_CONS_PROTOTYPE_OBJECT#

Constructor.prototype 不是物件時,由 Node-API 使用。

ERR_NETWORK_IMPORT_BAD_RESPONSE#

穩定性:1 - 實驗性

透過網路匯入模組時,已收到回應,但回應無效。

ERR_NETWORK_IMPORT_DISALLOWED#

穩定性:1 - 實驗性

網路模組嘗試載入它不允許載入的另一個模組。這種限制可能是出於安全性考量。

ERR_NO_LONGER_SUPPORTED#

以不受支援的方式呼叫 Node.js API,例如 Buffer.write(string, encoding, offset[, length])

ERR_OPERATION_FAILED#

作業失敗。這通常用於表示非同步作業的整體失敗。

ERR_OUTOFMEMORY#

泛指用於識別作業導致記憶體不足的狀況。

ERR_PARSE_HISTORY_DATA#

node:repl 模組無法從 REPL 歷程記錄檔中解析資料。

ERR_SOCKET_CANNOT_SEND#

無法在 socket 上傳送資料。

ERR_STDERR_CLOSE#

嘗試關閉 process.stderr 串流。基於設計,Node.js 不允許使用者程式碼關閉 stdoutstderr 串流。

ERR_STDOUT_CLOSE#

嘗試關閉 process.stdout 串流。基於設計,Node.js 不允許使用者程式碼關閉 stdoutstderr 串流。

ERR_STREAM_READ_NOT_IMPLEMENTED#

嘗試使用尚未實作 readable._read() 的可讀取串流時使用。

ERR_TLS_RENEGOTIATION_FAILED#

TLS 重新協商要求以非特定方式失敗時使用。

ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER#

序列化過程中遇到一個記憶體並非由 JavaScript 引擎或 Node.js 管理的 SharedArrayBuffer。此類 SharedArrayBuffer 無法序列化。

這僅會發生在原生外掛程式以「外化」模式建立 SharedArrayBuffer,或將現有的 SharedArrayBuffer 置於外化模式時。

ERR_UNKNOWN_STDIN_TYPE#

嘗試使用未知 stdin 檔案類型啟動 Node.js 處理程序。此錯誤通常表示 Node.js 本身存在錯誤,儘管使用者程式碼也有可能觸發此錯誤。

ERR_UNKNOWN_STREAM_TYPE#

嘗試使用未知 stdoutstderr 檔案類型啟動 Node.js 處理程序。此錯誤通常表示 Node.js 本身存在錯誤,儘管使用者程式碼也有可能觸發此錯誤。

ERR_V8BREAKITERATOR#

已使用 V8 BreakIterator API,但未安裝完整的 ICU 資料集。

ERR_VALUE_OUT_OF_RANGE#

在給定值超出可接受範圍時使用。

ERR_VM_MODULE_NOT_LINKED#

在實例化之前,模組必須成功連結。

ERR_VM_MODULE_LINKING_ERRORED#

連結器函式傳回一個連結失敗的模組。

ERR_WORKER_UNSUPPORTED_EXTENSION#

用於工作執行緒主程式碼段的檔案路徑具有未知的副檔名。

ERR_ZLIB_BINDING_CLOSED#

在嘗試使用已關閉的 zlib 物件時使用。

ERR_CPU_USAGE#

無法處理來自 process.cpuUsage 的原生呼叫。