Skip to content

Ошибки

Приложения, работающие в Node.js, обычно сталкиваются с четырьмя категориями ошибок:

  • Стандартные ошибки JavaScript, такие как <EvalError>, <SyntaxError>, <RangeError>, <ReferenceError>, <TypeError> и <URIError>.
  • Системные ошибки, вызванные ограничениями операционной системы, такими как попытка открыть несуществующий файл или попытка отправить данные через закрытый сокет.
  • Ошибки, указанные пользователем, вызванные кодом приложения.
  • AssertionError — это особый класс ошибок, которые могут быть вызваны, когда Node.js обнаруживает исключительное нарушение логики, которое никогда не должно происходить. Обычно они вызываются модулем node:assert.

Все ошибки JavaScript и системные ошибки, возникающие в Node.js, наследуются от стандартного класса JavaScript <Error> или являются его экземплярами, и гарантированно предоставляют как минимум свойства, доступные в этом классе.

Распространение и перехват ошибок

Node.js поддерживает несколько механизмов для распространения и обработки ошибок, возникающих во время работы приложения. То, как эти ошибки сообщаются и обрабатываются, полностью зависит от типа Error и стиля вызываемого API.

Все ошибки JavaScript обрабатываются как исключения, которые немедленно генерируют и вызывают ошибку с использованием стандартного механизма JavaScript throw. Они обрабатываются с помощью конструкции try…catch, предоставляемой языком JavaScript.

js
// Выбрасывает ReferenceError, потому что z не определена.
try {
  const m = 1;
  const n = m + z;
} catch (err) {
  // Обработайте ошибку здесь.
}

Любое использование механизма JavaScript throw вызовет исключение, которое должно быть обработано, иначе процесс Node.js немедленно завершится.

За редким исключением, синхронные API (любой блокирующий метод, который не возвращает <Promise> и не принимает функцию callback, например, fs.readFileSync), будут использовать throw для сообщения об ошибках.

Ошибки, возникающие в асинхронных API, могут сообщаться несколькими способами:

  • Некоторые асинхронные методы возвращают <Promise>, вы всегда должны учитывать, что он может быть отклонен. См. флаг --unhandled-rejections о том, как процесс будет реагировать на необработанное отклонение промиса.
  • Большинство асинхронных методов, принимающих функцию callback, принимают объект Error, передаваемый в качестве первого аргумента этой функции. Если этот первый аргумент не равен null и является экземпляром Error, то произошла ошибка, которую следует обработать.
  • Когда асинхронный метод вызывается для объекта, который является EventEmitter, ошибки могут быть направлены на событие 'error' этого объекта.
  • Некоторые, обычно асинхронные, методы в API Node.js все еще могут использовать механизм throw для вызова исключений, которые необходимо обрабатывать с помощью try…catch. Не существует исчерпывающего списка таких методов; пожалуйста, обратитесь к документации каждого метода, чтобы определить требуемый механизм обработки ошибок.

Использование механизма события 'error' наиболее распространено для API, основанных на потоках и на основе излучателей событий, которые сами по себе представляют собой серию асинхронных операций во времени (в отличие от одной операции, которая может пройти успешно или завершиться неудачей).

Для всех объектов EventEmitter, если не предоставлен обработчик события 'error', ошибка будет выдана, в результате чего процесс Node.js сообщит о необработанном исключении и завершит работу, если только: не был зарегистрирован обработчик для события 'uncaughtException' или не используется устаревший модуль node:domain.

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

setImmediate(() => {
  // Это приведет к сбою процесса, поскольку событие 'error' не имеет
  // обработчик был добавлен.
  ee.emit('error', new Error('Это приведет к сбою'));
});

Ошибки, сгенерированные таким образом, не могут быть перехвачены с помощью try…catch, поскольку они выбрасываются после того, как вызывающий код уже завершился.

Разработчики должны обратиться к документации для каждого метода, чтобы определить, как именно распространяются ошибки, вызванные этими методами.

Класс: Error

Общий объект JavaScript <Error>, который не обозначает каких-либо конкретных обстоятельств, объясняющих причину возникновения ошибки. Объекты Error захватывают "трассировку стека", детализирующую точку в коде, в которой был создан Error, и могут предоставлять текстовое описание ошибки.

Все ошибки, сгенерированные Node.js, включая все системные ошибки и ошибки JavaScript, будут либо экземплярами класса Error, либо наследоваться от него.

new Error(message[, options])

  • message <string>
  • options <Object>
    • cause <any> Ошибка, вызвавшая вновь созданную ошибку.

Создает новый объект Error и устанавливает свойство error.message в предоставленное текстовое сообщение. Если в качестве message передается объект, текстовое сообщение генерируется путем вызова String(message). Если предоставлена опция cause, она присваивается свойству error.cause. Свойство error.stack будет представлять точку в коде, в которой был вызван new Error(). Трассировки стека зависят от API трассировки стека V8. Трассировки стека простираются только до (a) начала синхронного выполнения кода или (b) количества фреймов, заданного свойством Error.stackTraceLimit, в зависимости от того, что меньше.

Error.captureStackTrace(targetObject[, constructorOpt])

Создает свойство .stack на targetObject, которое при доступе возвращает строку, представляющую местоположение в коде, в котором был вызван Error.captureStackTrace().

js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Аналогично `new Error().stack`

Первая строка трассировки будет начинаться с ${myObject.name}: ${myObject.message}.

Необязательный аргумент constructorOpt принимает функцию. Если он указан, все фреймы выше constructorOpt, включая constructorOpt, будут опущены из сгенерированной трассировки стека.

Аргумент constructorOpt полезен для скрытия деталей реализации генерации ошибок от пользователя. Например:

js
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Создать ошибку без трассировки стека, чтобы избежать повторного вычисления трассировки стека.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Захватить трассировку стека выше функции b
  Error.captureStackTrace(error, b); // Ни функция c, ни b не включены в трассировку стека
  throw error;
}

a();

Error.stackTraceLimit

Свойство Error.stackTraceLimit определяет количество фреймов стека, собранных трассировкой стека (будь то сгенерировано new Error().stack или Error.captureStackTrace(obj)).

Значение по умолчанию равно 10, но может быть установлено в любое допустимое число JavaScript. Изменения повлияют на любую трассировку стека, захваченную после изменения значения.

Если установлено значение, не являющееся числом, или установлено отрицательное число, трассировки стека не будут захватывать никакие фреймы.

error.cause

Добавлено в: v16.9.0

Если присутствует, свойство error.cause является основной причиной Error. Оно используется при перехвате ошибки и создании новой с другим сообщением или кодом, чтобы все еще иметь доступ к исходной ошибке.

Свойство error.cause обычно устанавливается вызовом new Error(message, { cause }). Оно не устанавливается конструктором, если параметр cause не предоставлен.

Это свойство позволяет объединять ошибки в цепочку. При сериализации объектов Error, util.inspect() рекурсивно сериализует error.cause, если оно установлено.

js
const cause = new Error('Удаленный HTTP-сервер ответил статусом 500');
const symptom = new Error('Не удалось отправить сообщение', { cause });

console.log(symptom);
// Печатает:
//   Error: Не удалось отправить сообщение
//       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: Удаленный HTTP-сервер ответил статусом 500
//         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 считывается до изменения этого свойства).

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

error.stack

Свойство error.stack — это строка, описывающая точку в коде, в которой был создан экземпляр Error.

bash
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. Если, например, выполнение синхронно проходит через функцию C++-аддона с именем cheetahify, которая сама вызывает функцию JavaScript, кадр, представляющий вызов cheetahify, не будет присутствовать в трассировке стека:

js
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

Указывает, что предоставленный аргумент не входит в набор или диапазон допустимых значений для функции; будь то числовой диапазон или за пределами набора параметров для заданного параметра функции.

js
require('node:net').connect(-1);
// Выбрасывает "RangeError: "port" option should be >= 0 and < 65536: -1"

Node.js будет генерировать и выбрасывать экземпляры RangeError немедленно в качестве формы проверки аргументов.

Класс: ReferenceError

Указывает, что предпринимается попытка получить доступ к переменной, которая не определена. Такие ошибки обычно указывают на опечатки в коде или иным образом сломанную программу.

Хотя клиентский код может генерировать и распространять эти ошибки, на практике это делает только V8.

js
doesNotExist;
// Выбрасывает ReferenceError, doesNotExist не является переменной в этой программе.

Если приложение не генерирует и не запускает код динамически, экземпляры ReferenceError указывают на ошибку в коде или его зависимостях.

Класс: SyntaxError

Указывает, что программа не является допустимым JavaScript. Эти ошибки могут быть сгенерированы и распространены только в результате оценки кода. Оценка кода может происходить в результате eval, Function, require или vm. Эти ошибки почти всегда свидетельствуют о неисправной программе.

js
try {
  require('node:vm').runInThisContext('binary ! isNotOk');
} catch (err) {
  // 'err' будет SyntaxError.
}

Экземпляры SyntaxError невосстановимы в контексте, который их создал – их могут перехватить только другие контексты.

Класс: SystemError

Node.js генерирует системные ошибки, когда в среде выполнения возникают исключения. Обычно это происходит, когда приложение нарушает ограничение операционной системы. Например, системная ошибка произойдет, если приложение попытается прочитать файл, который не существует.

  • address <string> Если присутствует, адрес, к которому не удалось сетевое подключение
  • code <string> Строковый код ошибки
  • dest <string> Если присутствует, путь к файлу назначения при сообщении об ошибке файловой системы
  • errno <number> Предоставленный системой номер ошибки
  • info <Object> Если присутствует, дополнительные сведения об условии ошибки
  • message <string> Предоставленное системой удобочитаемое описание ошибки
  • path <string> Если присутствует, путь к файлу при сообщении об ошибке файловой системы
  • port <number> Если присутствует, порт сетевого подключения, который недоступен
  • syscall <string> Имя системного вызова, вызвавшего ошибку

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 является строкой, описывающей системный вызов, который не удался.

Типичные системные ошибки

Это список системных ошибок, которые часто встречаются при написании программы Node.js. Для получения полного списка смотрите errno(3) man page.

  • EACCES (Отказано в доступе): Была предпринята попытка доступа к файлу способом, запрещенным его правами доступа к файлам.
  • EADDRINUSE (Адрес уже используется): Попытка привязать сервер (net, http или https) к локальному адресу не удалась из-за того, что другой сервер в локальной системе уже занимает этот адрес.
  • ECONNREFUSED (Соединение отклонено): Не удалось установить соединение, потому что целевой компьютер активно отказал в этом. Обычно это происходит при попытке подключиться к службе, которая неактивна на удаленном хосте.
  • ECONNRESET (Соединение сброшено пиром): Соединение было принудительно закрыто пиром. Обычно это происходит из-за потери соединения на удаленном сокете из-за тайм-аута или перезагрузки. Часто встречается в модулях http и net.
  • EEXIST (Файл существует): Существующий файл был целью операции, которая требовала, чтобы цель не существовала.
  • EISDIR (Является каталогом): Операция ожидала файл, но заданный путь был каталогом.
  • EMFILE (Слишком много открытых файлов в системе): Достигнуто максимальное количество дескрипторов файлов, допустимое в системе, и запросы на другой дескриптор не могут быть выполнены до тех пор, пока хотя бы один не будет закрыт. Это происходит при одновременном открытии большого количества файлов параллельно, особенно в системах (в частности, macOS), где для процессов существует низкий предел дескрипторов файлов. Чтобы исправить низкий предел, запустите ulimit -n 2048 в той же оболочке, в которой будет выполняться процесс Node.js.
  • ENOENT (Нет такого файла или каталога): Обычно вызывается операциями fs, чтобы указать, что компонент указанного пути не существует. Ни один объект (файл или каталог) не может быть найден по заданному пути.
  • ENOTDIR (Не является каталогом): Компонент заданного пути существовал, но не был каталогом, как ожидалось. Обычно вызывается fs.readdir.
  • ENOTEMPTY (Каталог не пуст): Каталог с записями был целью операции, требующей пустой каталог, обычно fs.unlink.
  • ENOTFOUND (Сбой поиска DNS): Указывает на сбой DNS либо EAI_NODATA, либо EAI_NONAME. Это не стандартная ошибка POSIX.
  • EPERM (Операция не разрешена): Была предпринята попытка выполнить операцию, требующую повышенных привилегий.
  • EPIPE (Разорванная труба): Запись в трубу, сокет или FIFO, для которых нет процесса для чтения данных. Часто встречается на уровнях net и http, что указывает на то, что удаленная сторона потока, в который выполняется запись, была закрыта.
  • ETIMEDOUT (Время ожидания операции истекло): Запрос на подключение или отправку не удался, поскольку подключенная сторона не ответила должным образом по истечении периода времени. Обычно встречается в http или net. Часто является признаком того, что socket.end() не был вызван должным образом.

Класс: TypeError

Указывает на то, что предоставленный аргумент имеет недопустимый тип. Например, передача функции параметру, который ожидает строку, приведет к ошибке TypeError.

js
require('node:url').parse(() => { });
// Выбрасывает TypeError, так как ожидалась строка.

Node.js генерирует и выбрасывает экземпляры TypeError немедленно в качестве формы проверки аргументов.

Исключения и ошибки

Исключение JavaScript — это значение, которое выбрасывается в результате недопустимой операции или как цель оператора throw. Хотя и не требуется, чтобы эти значения были экземплярами Error или классов, наследующих от Error, все исключения, выбрасываемые Node.js или средой выполнения JavaScript, будут экземплярами Error.

Некоторые исключения являются невосстановимыми на уровне JavaScript. Такие исключения всегда приводят к сбою процесса Node.js. Примеры включают проверки assert() или вызовы abort() на уровне C++.

Ошибки OpenSSL

Ошибки, возникающие в crypto или tls, имеют класс Error и, помимо стандартных свойств .code и .message, могут иметь некоторые дополнительные свойства, специфичные для OpenSSL.

error.opensslErrorStack

Массив ошибок, которые могут дать контекст тому, откуда в библиотеке OpenSSL исходит ошибка.

error.function

Функция OpenSSL, в которой возникла ошибка.

error.library

Библиотека OpenSSL, в которой возникла ошибка.

error.reason

Человекочитаемая строка, описывающая причину ошибки.

Коды ошибок Node.js

ABORT_ERR

Добавлено в: v15.0.0

Используется, когда операция была прервана (обычно с использованием AbortController).

API, не использующие AbortSignal, обычно не вызывают ошибку с этим кодом.

Этот код не использует обычное соглашение ERR_*, используемое ошибками Node.js, чтобы быть совместимым с AbortError веб-платформы.

ERR_ACCESS_DENIED

Специальный тип ошибки, который срабатывает всякий раз, когда Node.js пытается получить доступ к ресурсу, ограниченному Моделью разрешений.

ERR_AMBIGUOUS_ARGUMENT

Аргумент функции используется таким образом, который предполагает, что сигнатура функции может быть неверно понята. Это исключение генерируется модулем node:assert, когда параметр message в assert.throws(block, message) соответствует сообщению об ошибке, сгенерированному block, поскольку такое использование предполагает, что пользователь считает message ожидаемым сообщением, а не сообщением, которое AssertionError будет отображать, если block не генерирует исключение.

ERR_ARG_NOT_ITERABLE

Требовался итерируемый аргумент (т.е. значение, которое работает с циклами for...of), но он не был предоставлен в API Node.js.

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 из кода дополнения или внедрения, находясь в контексте движка JS, который не связан с экземпляром Node.js. Данные, переданные в метод Buffer, будут освобождены к моменту возврата метода.

При возникновении этой ошибки возможной альтернативой созданию экземпляра Buffer является создание обычного Uint8Array, который отличается только прототипом результирующего объекта. Uint8Array обычно принимаются во всех основных API Node.js, где используются 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

Используется, когда дочерний процесс запускается без указания канала IPC.

ERR_CHILD_PROCESS_STDIO_MAXBUFFER

Используется, когда основной процесс пытается прочитать данные из STDERR/STDOUT дочернего процесса, и длина данных превышает параметр maxBuffer.

ERR_CLOSED_MESSAGE_PORT

[История]

ВерсияИзменения
v16.2.0, v14.17.1Сообщение об ошибке было повторно введено.
v11.12.0Сообщение об ошибке было удалено.
v10.5.0Добавлено в: v10.5.0

Была предпринята попытка использовать экземпляр MessagePort в закрытом состоянии, обычно после вызова .close().

ERR_CONSOLE_WRITABLE_STREAM

Console был создан без потока stdout, или Console имеет не перезаписываемый поток stdout или stderr.

ERR_CONSTRUCT_CALL_INVALID

Добавлено в: v12.5.0

Был вызван конструктор класса, который не является вызываемым.

ERR_CONSTRUCT_CALL_REQUIRED

Конструктор класса был вызван без new.

ERR_CONTEXT_NOT_INITIALIZED

Vm контекст, переданный в API, еще не инициализирован. Это может произойти, когда во время создания контекста происходит (и перехватывается) ошибка, например, когда не удается выделить память или когда при создании контекста достигается максимальный размер стека вызовов.

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED

Был запрошен движок OpenSSL (например, через параметры TLS clientCertEngine или privateKeyEngine), который не поддерживается используемой версией OpenSSL, вероятно, из-за флага времени компиляции OPENSSL_NO_ENGINE.

ERR_CRYPTO_ECDH_INVALID_FORMAT

Недопустимое значение для аргумента format было передано методу getPublicKey() класса crypto.ECDH().

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY

Недопустимое значение для аргумента key было передано методу computeSecret() класса crypto.ECDH(). Это означает, что открытый ключ лежит за пределами эллиптической кривой.

ERR_CRYPTO_ENGINE_UNKNOWN

Недопустимый идентификатор криптографического движка был передан в require('node:crypto').setEngine().

ERR_CRYPTO_FIPS_FORCED

Использовался аргумент командной строки --force-fips, но была предпринята попытка включить или отключить режим FIPS в модуле node:crypto.

ERR_CRYPTO_FIPS_UNAVAILABLE

Была предпринята попытка включить или отключить режим FIPS, но режим FIPS недоступен.

ERR_CRYPTO_HASH_FINALIZED

hash.digest() был вызван несколько раз. Метод hash.digest() должен вызываться не более одного раза для каждого экземпляра объекта Hash.

ERR_CRYPTO_HASH_UPDATE_FAILED

hash.update() не удалось по какой-либо причине. Это должно происходить редко, если вообще когда-либо произойдет.

ERR_CRYPTO_INCOMPATIBLE_KEY

Данные криптографические ключи несовместимы с предпринятой операцией.

ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS

Выбранная кодировка открытого или закрытого ключа несовместима с другими параметрами.

ERR_CRYPTO_INITIALIZATION_FAILED

Добавлено в: v15.0.0

Не удалось инициализировать криптографическую подсистему.

ERR_CRYPTO_INVALID_AUTH_TAG

Добавлено в: v15.0.0

Предоставлен недопустимый тег аутентификации.

ERR_CRYPTO_INVALID_COUNTER

Добавлено в: v15.0.0

Предоставлен недопустимый счетчик для шифра в режиме счетчика.

ERR_CRYPTO_INVALID_CURVE

Добавлено в: v15.0.0

Предоставлена недопустимая эллиптическая кривая.

ERR_CRYPTO_INVALID_DIGEST

Указан недопустимый алгоритм криптографического дайджеста.

ERR_CRYPTO_INVALID_IV

Добавлено в: v15.0.0

Предоставлен недопустимый вектор инициализации.

ERR_CRYPTO_INVALID_JWK

Добавлено в: v15.0.0

Предоставлен недопустимый JSON Web Key.

ERR_CRYPTO_INVALID_KEYLEN

Добавлено в: v15.0.0

Предоставлена недопустимая длина ключа.

ERR_CRYPTO_INVALID_KEYPAIR

Добавлено в: v15.0.0

Предоставлена недопустимая пара ключей.

ERR_CRYPTO_INVALID_KEYTYPE

Добавлено в: v15.0.0

Предоставлен недопустимый тип ключа.

ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE

Тип заданного криптографического объекта ключа недействителен для предпринятой операции.

ERR_CRYPTO_INVALID_MESSAGELEN

Добавлено в: v15.0.0

Предоставлена недопустимая длина сообщения.

ERR_CRYPTO_INVALID_SCRYPT_PARAMS

Добавлено в: v15.0.0

Один или несколько параметров crypto.scrypt() или crypto.scryptSync() находятся за пределами допустимого диапазона.

ERR_CRYPTO_INVALID_STATE

Криптографический метод был использован для объекта, находящегося в недействительном состоянии. Например, вызов cipher.getAuthTag() до вызова cipher.final().

ERR_CRYPTO_INVALID_TAG_LENGTH

Добавлено в: v15.0.0

Предоставлена недопустимая длина тега аутентификации.

ERR_CRYPTO_JOB_INIT_FAILED

Добавлено в: v15.0.0

Не удалось инициализировать асинхронную криптографическую операцию.

ERR_CRYPTO_JWK_UNSUPPORTED_CURVE

Эллиптическая кривая ключа не зарегистрирована для использования в реестре эллиптических кривых JSON Web Key.

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE

Тип асимметричного ключа не зарегистрирован для использования в реестре типов ключей JSON Web Key.

ERR_CRYPTO_OPERATION_FAILED

Добавлено в: v15.0.0

Криптографическая операция завершилась неудачно по какой-то не указанной причине.

ERR_CRYPTO_PBKDF2_ERROR

Алгоритм PBKDF2 завершился неудачно по неуказанным причинам. OpenSSL не предоставляет более подробной информации, поэтому Node.js тоже не предоставляет.

ERR_CRYPTO_SCRYPT_NOT_SUPPORTED

Node.js был скомпилирован без поддержки scrypt. Это невозможно с официальными бинарными выпусками, но может произойти с пользовательскими сборками, включая сборки дистрибутивов.

ERR_CRYPTO_SIGN_KEY_REQUIRED

key подписи не был предоставлен методу sign.sign().

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH

crypto.timingSafeEqual() был вызван с аргументами Buffer, TypedArray или DataView разной длины.

ERR_CRYPTO_UNKNOWN_CIPHER

Указан неизвестный шифр.

ERR_CRYPTO_UNKNOWN_DH_GROUP

Указано неизвестное имя группы Диффи-Хеллмана. Список допустимых имен групп см. в разделе crypto.getDiffieHellman().

ERR_CRYPTO_UNSUPPORTED_OPERATION

Добавлено в: v15.0.0, v14.18.0

Предпринята попытка вызвать неподдерживаемую криптографическую операцию.

ERR_DEBUGGER_ERROR

Добавлено в: v16.4.0, v14.17.4

Произошла ошибка в отладчике.

ERR_DEBUGGER_STARTUP_ERROR

Добавлено в: v16.4.0, v14.17.4

Время ожидания отладчиком освобождения необходимого хоста/порта истекло.

ERR_DIR_CLOSED

fs.Dir был ранее закрыт.

ERR_DIR_CONCURRENT_OPERATION

Добавлено в: v14.3.0

Предпринята попытка синхронного чтения или закрытия fs.Dir, для которого выполняются асинхронные операции.

ERR_DLOPEN_DISABLED

Добавлено в: v16.10.0, v14.19.0

Загрузка собственных дополнений отключена с помощью --no-addons.

ERR_DLOPEN_FAILED

Добавлено в: v15.0.0

Сбой вызова process.dlopen().

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

Данные, предоставленные API TextDecoder(), недействительны согласно предоставленной кодировке.

ERR_ENCODING_NOT_SUPPORTED

Кодировка, предоставленная API TextDecoder(), не является одной из поддерживаемых 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

Promise, который был преобразован в обратный вызов через util.callbackify(), был отклонен с ложным значением.

ERR_FEATURE_UNAVAILABLE_ON_PLATFORM

Добавлено в: v14.0.0

Используется, когда используется функция, недоступная для текущей платформы, на которой работает Node.js.

ERR_FS_CP_DIR_TO_NON_DIR

Добавлено в: v16.7.0

Предпринята попытка скопировать каталог в не-каталог (файл, символическую ссылку и т. д.) с помощью fs.cp().

ERR_FS_CP_EEXIST

Добавлено в: v16.7.0

Предпринята попытка скопировать файл поверх уже существующего с помощью fs.cp(), при этом force и errorOnExist установлены в true.

ERR_FS_CP_EINVAL

Добавлено в: v16.7.0

При использовании fs.cp(), src или dest указывали на недопустимый путь.

ERR_FS_CP_FIFO_PIPE

Добавлено в: v16.7.0

Предпринята попытка скопировать именованный канал с помощью fs.cp().

ERR_FS_CP_NON_DIR_TO_DIR

Добавлено в: v16.7.0

Предпринята попытка скопировать не-каталог (файл, символическую ссылку и т. д.) в каталог с помощью fs.cp().

ERR_FS_CP_SOCKET

Добавлено в: v16.7.0

Предпринята попытка скопировать в сокет с помощью fs.cp().

Added in: v16.7.0

При использовании fs.cp(), символическая ссылка в dest указывала на подкаталог src.

ERR_FS_CP_UNKNOWN

Added in: v16.7.0

Была предпринята попытка скопировать в файл неизвестного типа с помощью fs.cp().

ERR_FS_EISDIR

Путь является каталогом.

ERR_FS_FILE_TOO_LARGE

Была предпринята попытка прочитать файл, размер которого превышает максимально допустимый размер для Buffer.

ERR_HTTP2_ALTSVC_INVALID_ORIGIN

Фреймы HTTP/2 ALTSVC требуют допустимый origin.

ERR_HTTP2_ALTSVC_LENGTH

Фреймы HTTP/2 ALTSVC ограничены максимальным размером полезной нагрузки в 16 382 байта.

ERR_HTTP2_CONNECT_AUTHORITY

Для запросов HTTP/2, использующих метод CONNECT, требуется псевдозаголовок :authority.

ERR_HTTP2_CONNECT_PATH

Для запросов HTTP/2, использующих метод CONNECT, псевдозаголовок :path запрещен.

ERR_HTTP2_CONNECT_SCHEME

Для запросов HTTP/2, использующих метод CONNECT, псевдозаголовок :scheme запрещен.

ERR_HTTP2_ERROR

Произошла неспецифическая ошибка HTTP/2.

ERR_HTTP2_GOAWAY_SESSION

Новые HTTP/2 Streams нельзя открывать после того, как Http2Session получил фрейм GOAWAY от подключенного пира.

ERR_HTTP2_HEADERS_AFTER_RESPOND

Дополнительные заголовки были указаны после инициации ответа HTTP/2.

ERR_HTTP2_HEADERS_SENT

Была предпринята попытка отправить несколько заголовков ответа.

ERR_HTTP2_HEADER_SINGLE_VALUE

Было предоставлено несколько значений для поля заголовка HTTP/2, которое должно было иметь только одно значение.

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. Информационные коды состояния должны быть целыми числами от 100 до 199 (включительно).

ERR_HTTP2_INVALID_ORIGIN

Фреймы HTTP/2 ORIGIN требуют допустимый источник.

ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH

Экземпляры Buffer и Uint8Array, переданные в API http2.getUnpackedSettings(), должны иметь длину, кратную шести.

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

Была предпринята попытка инициировать новый push-поток изнутри push-потока. Вложенные push-потоки не разрешены.

ERR_HTTP2_NO_MEM

Недостаточно памяти при использовании API http2session.setLocalWindowSize(windowSize).

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 ping был отменен.

ERR_HTTP2_PING_LENGTH

Полезная нагрузка HTTP/2 ping должна быть ровно 8 байт в длину.

ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED

Некорректно использован псевдозаголовок HTTP/2. Псевдозаголовки - это имена ключей заголовков, начинающиеся с префикса :.

ERR_HTTP2_PUSH_DISABLED

Предпринята попытка создать push-поток, который был отключен клиентом.

ERR_HTTP2_SEND_FILE

Предпринята попытка использовать API Http2Stream.prototype.responseWithFile() для отправки каталога.

ERR_HTTP2_SEND_FILE_NOSEEK

Предпринята попытка использовать API Http2Stream.prototype.responseWithFile() для отправки чего-либо, отличного от обычного файла, но были предоставлены параметры offset или length.

ERR_HTTP2_SESSION_ERROR

Http2Session закрыт с ненулевым кодом ошибки.

ERR_HTTP2_SETTINGS_CANCEL

Настройки Http2Session отменены.

ERR_HTTP2_SOCKET_BOUND

Предпринята попытка подключить объект Http2Session к net.Socket или tls.TLSSocket, который уже был привязан к другому объекту Http2Session.

ERR_HTTP2_SOCKET_UNBOUND

Предпринята попытка использовать свойство socket Http2Session, который уже был закрыт.

ERR_HTTP2_STATUS_101

Использование информационного кода состояния 101 запрещено в HTTP/2.

ERR_HTTP2_STATUS_INVALID

Указан недействительный код состояния HTTP. Коды состояния должны быть целым числом от 100 до 599 (включительно).

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

Добавлено в версии: v15.14.0

Превышен лимит допустимых недействительных кадров протокола HTTP/2, отправленных пиром, как указано в опции maxSessionInvalidFrames.

ERR_HTTP2_TRAILERS_ALREADY_SENT

Трейлерные заголовки уже отправлены в Http2Stream.

ERR_HTTP2_TRAILERS_NOT_READY

Метод http2stream.sendTrailers() нельзя вызывать до тех пор, пока на объекте Http2Stream не будет сгенерировано событие 'wantTrailers'. Событие 'wantTrailers' будет сгенерировано только в том случае, если для Http2Stream установлена опция waitForTrailers.

ERR_HTTP2_UNSUPPORTED_PROTOCOL

В http2.connect() был передан URL-адрес, использующий протокол, отличный от http: или https:.

ERR_HTTP_BODY_NOT_ALLOWED

Ошибка возникает при записи в HTTP-ответ, который не допускает содержимое.

ERR_HTTP_CONTENT_LENGTH_MISMATCH

Размер тела ответа не соответствует указанному значению заголовка content-length.

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 Section 3.

ERR_HTTP_TRAILER_INVALID

Заголовок Trailer был установлен, даже если кодировка передачи это не поддерживает.

ERR_ILLEGAL_CONSTRUCTOR

Была предпринята попытка создать объект с использованием непубличного конструктора.

ERR_IMPORT_ATTRIBUTE_MISSING

Добавлено в версии: v21.1.0

Отсутствует атрибут импорта, что препятствует импорту указанного модуля.

ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE

Добавлено в версии: v21.1.0

Был предоставлен атрибут type импорта, но указанный модуль имеет другой тип.

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

Добавлено в версии: v21.0.0, v20.10.0, v18.19.0

Атрибут импорта не поддерживается этой версией Node.js.

ERR_INCOMPATIBLE_OPTION_PAIR

Пара параметров несовместима друг с другом и не может использоваться одновременно.

ERR_INPUT_TYPE_NOT_ALLOWED

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Флаг --input-type был использован для попытки выполнения файла. Этот флаг можно использовать только с вводом через --eval, --print или STDIN.

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 неактивен при вызове inspector.waitForDebugger().

ERR_INSPECTOR_NOT_AVAILABLE

Модуль node:inspector недоступен для использования.

ERR_INSPECTOR_NOT_CONNECTED

При использовании модуля node:inspector была предпринята попытка использовать инспектор до его подключения.

ERR_INSPECTOR_NOT_WORKER

API был вызван в основном потоке, который можно использовать только из рабочего потока.

ERR_INTERNAL_ASSERTION

Обнаружена ошибка в Node.js или некорректное использование внутренних компонентов Node.js. Чтобы исправить ошибку, откройте issue на https://github.com/nodejs/node/issues.

ERR_INVALID_ADDRESS

Предоставленный адрес не распознан API Node.js.

ERR_INVALID_ADDRESS_FAMILY

Предоставленное семейство адресов не распознано API Node.js.

ERR_INVALID_ARG_TYPE

Аргумент неверного типа был передан в API Node.js.

ERR_INVALID_ARG_VALUE

Недопустимое или неподдерживаемое значение было передано для данного аргумента.

ERR_INVALID_ASYNC_ID

Недопустимый asyncId или triggerAsyncId был передан с использованием AsyncHooks. Идентификатор меньше -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

API Node.js, который использует file: URLs (например, определенные функции в модуле fs), обнаружил URL-адрес файла с несовместимым хостом. Эта ситуация может возникнуть только в Unix-подобных системах, где поддерживается только localhost или пустой хост.

ERR_INVALID_FILE_URL_PATH

API Node.js, который использует file: URLs (например, определенные функции в модуле fs), обнаружил URL-адрес файла с несовместимым путем. Точная семантика для определения того, можно ли использовать путь, зависит от платформы.

ERR_INVALID_HANDLE_TYPE

Была предпринята попытка отправить неподдерживаемый "handle" по каналу IPC-связи дочернему процессу. См. subprocess.send() и process.send() для получения дополнительной информации.

ERR_INVALID_HTTP_TOKEN

Был предоставлен недопустимый HTTP-токен.

ERR_INVALID_IP_ADDRESS

IP-адрес недействителен.

ERR_INVALID_MIME_SYNTAX

Синтаксис MIME недействителен.

ERR_INVALID_MODULE

Добавлено в: v15.0.0, v14.18.0

Была предпринята попытка загрузить модуль, который не существует или является недействительным.

ERR_INVALID_MODULE_SPECIFIER

Импортированная строка модуля является недействительным URL-адресом, именем пакета или спецификатором подпути пакета.

ERR_INVALID_OBJECT_DEFINE_PROPERTY

Произошла ошибка при установке недействительного атрибута для свойства объекта.

ERR_INVALID_PACKAGE_CONFIG

Не удалось разобрать недопустимый файл package.json.

ERR_INVALID_PACKAGE_TARGET

Поле "exports" файла package.json содержит недопустимое значение целевого отображения для предпринятого разрешения модуля.

ERR_INVALID_PROTOCOL

В http.request() был передан недействительный options.protocol.

ERR_INVALID_REPL_EVAL_CONFIG

В конфигурации REPL были установлены как параметры breakEvalOnSigint, так и eval, что не поддерживается.

ERR_INVALID_REPL_INPUT

Ввод не может быть использован в REPL. Условия, при которых используется эта ошибка, описаны в документации REPL.

ERR_INVALID_RETURN_PROPERTY

Возникает в случае, если параметр функции не предоставляет допустимое значение для одного из свойств возвращаемого объекта при выполнении.

ERR_INVALID_RETURN_PROPERTY_VALUE

Возникает в случае, если параметр функции не предоставляет ожидаемый тип значения для одного из свойств возвращаемого объекта при выполнении.

ERR_INVALID_RETURN_VALUE

Возникает в случае, если параметр функции не возвращает ожидаемый тип значения при выполнении, например, когда ожидается, что функция вернет промис.

ERR_INVALID_STATE

Добавлено в: v15.0.0

Указывает, что операция не может быть завершена из-за недопустимого состояния. Например, объект уже мог быть уничтожен или может выполнять другую операцию.

ERR_INVALID_SYNC_FORK_INPUT

В качестве стандартного ввода для асинхронного форка был предоставлен Buffer, TypedArray, DataView или string. Дополнительную информацию см. в документации для модуля child_process.

ERR_INVALID_THIS

Функция API Node.js была вызвана с несовместимым значением this.

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

const buf = Buffer.alloc(1);
urlSearchParams.has.call(buf, 'foo');
// Выбрасывает TypeError с кодом 'ERR_INVALID_THIS'

ERR_INVALID_TUPLE

Элемент в iterable, предоставленном WHATWG URLSearchParams конструктору, не представлял собой кортеж [name, value] – то есть, если элемент не является итерируемым или не состоит ровно из двух элементов.

ERR_INVALID_TYPESCRIPT_SYNTAX

Добавлено в: v23.0.0

Предоставленный синтаксис TypeScript недействителен или не поддерживается. Это может произойти при использовании синтаксиса TypeScript, требующего преобразования с помощью удаления типов.

ERR_INVALID_URI

Передан недопустимый URI.

ERR_INVALID_URL

Недопустимый URL был передан WHATWG URL конструктору или устаревшему url.parse() для разбора. Объект выбрасываемой ошибки обычно имеет дополнительное свойство 'input', которое содержит URL, который не удалось разобрать.

ERR_INVALID_URL_SCHEME

Была предпринята попытка использовать URL несовместимой схемы (протокола) для определенной цели. Он используется только в поддержке WHATWG URL API в модуле fs (который принимает только URL со схемой 'file'), но может использоваться и в других API Node.js в будущем.

ERR_IPC_CHANNEL_CLOSED

Была предпринята попытка использовать канал связи IPC, который уже был закрыт.

ERR_IPC_DISCONNECTED

Была предпринята попытка отключить канал связи IPC, который уже был отключен. Дополнительную информацию см. в документации по модулю child_process.

ERR_IPC_ONE_PIPE

Была предпринята попытка создать дочерний процесс Node.js, используя более одного канала связи IPC. Дополнительную информацию см. в документации по модулю child_process.

ERR_IPC_SYNC_FORK

Была предпринята попытка открыть канал связи IPC с синхронно порожденным процессом Node.js. Дополнительную информацию см. в документации для модуля child_process.

ERR_IP_BLOCKED

IP-адрес заблокирован net.BlockList.

ERR_LOADER_CHAIN_INCOMPLETE

Добавлено в: v18.6.0, v16.17.0

Хук загрузчика ESM вернулся, не вызвав next() и не сигнализируя явно о коротком замыкании.

ERR_LOAD_SQLITE_EXTENSION

Добавлено в: v23.5.0

Произошла ошибка при загрузке расширения SQLite.

ERR_MEMORY_ALLOCATION_FAILED

Была предпринята попытка выделить память (обычно в слое C++), но она не удалась.

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE

Добавлено в: v14.5.0, v12.19.0

Сообщение, отправленное в MessagePort, не удалось десериализовать в целевом vm Context. В настоящее время не все объекты Node.js могут быть успешно инстанцированы в любом контексте, и попытка их передачи с помощью postMessage() может привести к сбою на принимающей стороне в этом случае.

ERR_METHOD_NOT_IMPLEMENTED

Метод требуется, но не реализован.

ERR_MISSING_ARGS

Обязательный аргумент API Node.js не был передан. Это используется только для строгого соответствия спецификации API (которая в некоторых случаях может принимать func(undefined), но не func()). В большинстве собственных API Node.js func(undefined) и func() обрабатываются идентично, и вместо этого может использоваться код ошибки ERR_INVALID_ARG_TYPE.

ERR_MISSING_OPTION

Для API, которые принимают объекты параметров, некоторые параметры могут быть обязательными. Этот код выдается, если обязательный параметр отсутствует.

ERR_MISSING_PASSPHRASE

Была предпринята попытка прочитать зашифрованный ключ без указания парольной фразы.

ERR_MISSING_PLATFORM_FOR_WORKER

Платформа V8, используемая этим экземпляром Node.js, не поддерживает создание Workers. Это вызвано отсутствием поддержки Workers со стороны встраивающей программы. В частности, эта ошибка не возникнет при стандартных сборках 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 находилось за пределами dataview или 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_NON_CONTEXT_AWARE_DISABLED

Не контекстно-ориентированный собственный аддон был загружен в процессе, который их запрещает.

ERR_NOT_BUILDING_SNAPSHOT

Была предпринята попытка использовать операции, которые можно использовать только при создании начального снимка V8, хотя Node.js его не создает.

ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION

Добавлено в: v21.7.0, v20.12.0

Операция не может быть выполнена, если она не находится в однофайловом исполняемом приложении.

ERR_NOT_SUPPORTED_IN_SNAPSHOT

Была предпринята попытка выполнить операции, которые не поддерживаются при создании начального снимка.

ERR_NO_CRYPTO

Была предпринята попытка использовать криптографические функции, в то время как Node.js не был скомпилирован с поддержкой криптографии OpenSSL.

ERR_NO_ICU

Была предпринята попытка использовать функции, требующие ICU, но Node.js не был скомпилирован с поддержкой ICU.

ERR_NO_TYPESCRIPT

Добавлено в: v23.0.0

Была предпринята попытка использовать функции, требующие встроенной поддержки TypeScript, но Node.js не был скомпилирован с поддержкой TypeScript.

ERR_OPERATION_FAILED

Добавлено в: v15.0.0

Операция завершилась неудачно. Обычно используется для обозначения общей неудачи асинхронной операции.

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

Добавлено в: v18.3.0, v16.17.0

Когда для strict установлено значение true, выбрасывается util.parseArgs(), если значение <boolean> предоставлено для параметра типа <string>, или если значение <string> предоставлено для параметра типа <boolean>.

ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL

Добавлено в: v18.3.0, v16.17.0

Выбрасывается util.parseArgs(), когда предоставлен позиционный аргумент, а allowPositionals установлено в false.

ERR_PARSE_ARGS_UNKNOWN_OPTION

Добавлено в: v18.3.0, v16.17.0

Когда для strict установлено значение true, выбрасывается util.parseArgs(), если аргумент не настроен в options.

ERR_PERFORMANCE_INVALID_TIMESTAMP

Недопустимое значение метки времени было предоставлено для метки или измерения производительности.

ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS

Предоставлены недопустимые параметры для измерения производительности.

ERR_PROTO_ACCESS

Доступ к Object.prototype.__proto__ был запрещен с использованием --disable-proto=throw. Для получения и установки прототипа объекта следует использовать Object.getPrototypeOf и Object.setPrototypeOf.

ERR_QUIC_APPLICATION_ERROR

Добавлено в: v23.4.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Произошла ошибка приложения QUIC.

ERR_QUIC_CONNECTION_FAILED

Добавлено в: v23.0.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Не удалось установить соединение QUIC.

ERR_QUIC_ENDPOINT_CLOSED

Добавлено в: v23.0.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Конечная точка QUIC закрыта с ошибкой.

ERR_QUIC_OPEN_STREAM_FAILED

Добавлено в: v23.0.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Не удалось открыть поток QUIC.

ERR_QUIC_TRANSPORT_ERROR

Добавлено в: v23.4.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Произошла транспортная ошибка QUIC.

ERR_QUIC_VERSION_NEGOTIATION_ERROR

Добавлено в: v23.4.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Сессия QUIC не удалась, так как требуется согласование версий.

ERR_REQUIRE_ASYNC_MODULE

[Stable: 1 - Experimental]

Stable: 1 Стабильно: 1 - Экспериментально

При попытке require() ES Module модуль оказывается асинхронным. То есть, он содержит await верхнего уровня.

Чтобы увидеть, где находится await верхнего уровня, используйте --experimental-print-required-tla (это приведет к выполнению модулей до поиска await верхнего уровня).

ERR_REQUIRE_CYCLE_MODULE

[Stable: 1 - Experimental]

Stable: 1 Стабильно: 1 - Экспериментально

При попытке require() ES Module переход от CommonJS к ESM или от ESM к CommonJS участвует в немедленном цикле. Это не допускается, поскольку ES Modules не могут быть вычислены во время их вычисления.

Чтобы избежать цикла, вызов require(), участвующий в цикле, не должен происходить на верхнем уровне либо ES Module (через createRequire()), либо CommonJS модуля, и должен выполняться лениво во внутренней функции.

ERR_REQUIRE_ESM

[История]

ВерсияИзменения
v23.0.0require() теперь поддерживает загрузку синхронных ES-модулей по умолчанию.

[Stable: 0 - Deprecated]

Stable: 0 Стабильно: 0 - Устарело

Была предпринята попытка require() ES Module.

Эта ошибка устарела, так как require() теперь поддерживает загрузку синхронных ES-модулей. Когда require() сталкивается с ES-модулем, содержащим await верхнего уровня, он выбросит ERR_REQUIRE_ASYNC_MODULE вместо этого.

ERR_SCRIPT_EXECUTION_INTERRUPTED

Выполнение скрипта было прервано сигналом SIGINT (например, была нажата комбинация +).

ERR_SCRIPT_EXECUTION_TIMEOUT

Превышено время выполнения скрипта, возможно, из-за ошибок в выполняемом скрипте.

ERR_SERVER_ALREADY_LISTEN

Метод server.listen() был вызван в то время, когда net.Server уже прослушивался. Это относится ко всем экземплярам net.Server, включая HTTP, HTTPS и HTTP/2 Server экземпляры.

ERR_SERVER_NOT_RUNNING

Был вызван метод server.close(), когда net.Server не был запущен. Это относится ко всем экземплярам net.Server, включая HTTP, HTTPS и HTTP/2 экземпляры Server.

ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND

Добавлено в: v21.7.0, v20.12.0

В API для единого исполняемого приложения был передан ключ для идентификации ресурса, но совпадений не найдено.

ERR_SOCKET_ALREADY_BOUND

Была предпринята попытка привязать сокет, который уже привязан.

ERR_SOCKET_BAD_BUFFER_SIZE

Для параметров recvBufferSize или sendBufferSize в dgram.createSocket() был передан недействительный (отрицательный) размер.

ERR_SOCKET_BAD_PORT

Функция API, ожидающая порт >= 0 и < 65536, получила недействительное значение.

ERR_SOCKET_BAD_TYPE

Функция API, ожидающая тип сокета (udp4 или udp6), получила недействительное значение.

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_SOURCE_MAP_CORRUPT

Не удалось выполнить синтаксический анализ карты исходного кода, поскольку она не существует или повреждена.

ERR_SOURCE_MAP_MISSING_SOURCE

Файл, импортированный из карты исходного кода, не найден.

ERR_SQLITE_ERROR

Добавлено в: v22.5.0

Из SQLite возвращена ошибка.

ERR_SRI_PARSE

Была предоставлена строка для проверки целостности подресурсов (SRI), но ее не удалось проанализировать. Проверьте формат атрибутов целостности, обратившись к спецификации целостности подресурсов.

ERR_STREAM_ALREADY_FINISHED

Был вызван метод потока, который не может быть завершен, поскольку поток был завершен.

ERR_STREAM_CANNOT_PIPE

Была предпринята попытка вызвать stream.pipe() для потока Writable.

ERR_STREAM_DESTROYED

Был вызван метод потока, который не может быть завершен, поскольку поток был уничтожен с помощью stream.destroy().

ERR_STREAM_NULL_VALUES

Была предпринята попытка вызвать stream.write() с фрагментом null.

ERR_STREAM_PREMATURE_CLOSE

Ошибка, возвращаемая stream.finished() и stream.pipeline(), когда поток или конвейер завершается некорректно без явной ошибки.

ERR_STREAM_PUSH_AFTER_EOF

Была предпринята попытка вызвать stream.push() после того, как в поток был помещен null (EOF).

ERR_STREAM_UNABLE_TO_PIPE

Была предпринята попытка передать данные в закрытый или уничтоженный поток в конвейере.

ERR_STREAM_UNSHIFT_AFTER_END_EVENT

Была предпринята попытка вызвать stream.unshift() после того, как было испущено событие 'end'.

ERR_STREAM_WRAP

Предотвращает прерывание, если для сокета был установлен декодер строк или если декодер находится в objectMode.

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

instance.setEncoding('utf8');

ERR_STREAM_WRITE_AFTER_END

Была предпринята попытка вызвать stream.write() после вызова stream.end().

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

Эта ошибка возникает при создании TLSServer, если параметры TLS включают как ALPNProtocols, так и ALPNCallback. Эти параметры взаимоисключают друг друга.

ERR_TLS_CERT_ALTNAME_FORMAT

Эта ошибка возникает в checkServerIdentity, если предоставленное пользователем свойство subjectaltname нарушает правила кодирования. Объекты сертификатов, созданные самим Node.js, всегда соответствуют правилам кодирования и никогда не вызывают эту ошибку.

ERR_TLS_CERT_ALTNAME_INVALID

При использовании TLS имя хоста/IP-адрес узла не соответствуют ни одному из subjectAltNames в его сертификате.

ERR_TLS_DH_PARAM_SIZE

При использовании TLS параметр, предложенный для протокола согласования ключей Диффи-Хеллмана (DH), слишком мал. По умолчанию длина ключа должна быть больше или равна 1024 битам, чтобы избежать уязвимостей, хотя настоятельно рекомендуется использовать 2048 бит или больше для повышения безопасности.

ERR_TLS_HANDSHAKE_TIMEOUT

Превышено время ожидания TLS/SSL рукопожатия. В этом случае сервер также должен прервать соединение.

ERR_TLS_INVALID_CONTEXT

Добавлено в: v13.3.0

Контекст должен быть SecureContext.

ERR_TLS_INVALID_PROTOCOL_METHOD

Указанный метод secureProtocol недействителен. Он либо неизвестен, либо отключен из-за небезопасности.

ERR_TLS_INVALID_PROTOCOL_VERSION

Допустимые версии протокола TLS: 'TLSv1', 'TLSv1.1' или 'TLSv1.2'.

ERR_TLS_INVALID_STATE

Добавлено в: v13.10.0, v12.17.0

TLS сокет должен быть подключен и безопасно установлен. Убедитесь, что событие 'secure' было сгенерировано перед продолжением.

ERR_TLS_PROTOCOL_VERSION_CONFLICT

Попытка установить протокол TLS minVersion или maxVersion конфликтует с попыткой явно установить secureProtocol. Используйте один из этих механизмов.

ERR_TLS_PSK_SET_IDENTITY_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

Инициализация 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

[Stable: 1 - Experimental]

Stable: 1 Stability: 1 - Экспериментальная

Была предпринята попытка загрузить модуль с неизвестным или неподдерживаемым расширением файла.

ERR_UNKNOWN_MODULE_FORMAT

[Stable: 1 - Experimental]

Stable: 1 Stability: 1 - Экспериментальная

Была предпринята попытка загрузить модуль с неизвестным или неподдерживаемым форматом.

ERR_UNKNOWN_SIGNAL

В API, ожидающий допустимый сигнал (например, subprocess.kill()), был передан недопустимый или неизвестный сигнал процесса.

ERR_UNSUPPORTED_DIR_IMPORT

import URL каталога не поддерживается. Вместо этого, самостоятельно ссылайтесь на пакет, используя его имя и определите пользовательский подпуть в поле "exports" файла package.json.

js
import './'; // не поддерживается
import './index.js'; // поддерживается
import 'package-name'; // поддерживается

ERR_UNSUPPORTED_ESM_URL_SCHEME

import со схемами URL, отличными от file и data, не поддерживается.

ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING

Добавлено в: v22.6.0

Удаление типов не поддерживается для файлов, находящихся в каталоге node_modules.

ERR_UNSUPPORTED_RESOLVE_REQUEST

Была предпринята попытка разрешить недействительный ссылающийся модуль. Это может произойти при импорте или вызове import.meta.resolve() с:

  • простым спецификатором, который не является встроенным модулем из модуля, схема URL которого не является file.
  • относительным URL из модуля, схема URL которого не является специальной схемой.
js
try {
  // Попытка импортировать пакет 'bare-specifier' из модуля `data:` URL:
  await import('data:text/javascript,import "bare-specifier"');
} catch (e) {
  console.log(e.code); // ERR_UNSUPPORTED_RESOLVE_REQUEST
}

ERR_USE_AFTER_CLOSE

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально

Была предпринята попытка использовать что-то, что уже было закрыто.

ERR_VALID_PERFORMANCE_ENTRY_TYPE

При использовании API Performance Timing (perf_hooks) не найдены действительные типы записей производительности.

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING

Не указана функция обратного вызова для динамического импорта.

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG

Вызвана функция обратного вызова для динамического импорта без --experimental-vm-modules.

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_NOT_MODULE

Возвращенное значение промиса связывания не является объектом vm.Module.

ERR_VM_MODULE_STATUS

Текущий статус модуля не допускает эту операцию. Конкретное значение ошибки зависит от конкретной функции.

ERR_WASI_ALREADY_STARTED

Экземпляр WASI уже запущен.

ERR_WASI_NOT_STARTED

Экземпляр WASI не был запущен.

ERR_WEBASSEMBLY_RESPONSE

Добавлено в: v18.1.0

Response, который был передан в WebAssembly.compileStreaming или WebAssembly.instantiateStreaming, не является допустимым ответом WebAssembly.

ERR_WORKER_INIT_FAILED

Инициализация Worker не удалась.

ERR_WORKER_INVALID_EXEC_ARGV

Опция execArgv, переданная конструктору Worker, содержит недопустимые флаги.

ERR_WORKER_MESSAGING_ERRORED

Добавлено в: v22.5.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1.1 - Активная разработка

Целевой поток выдал ошибку при обработке сообщения, отправленного через postMessageToThread().

ERR_WORKER_MESSAGING_FAILED

Добавлено в: v22.5.0

[Stable: 1 - Experimental]

Stable: 1 Стабильно: 1.1 - Активная разработка

Поток, запрошенный в postMessageToThread(), недействителен или не имеет прослушивателя workerMessage.

ERR_WORKER_MESSAGING_SAME_THREAD

Добавлено в: v22.5.0

[Stable: 1 - Experimental]

Stable: 1 Стабильно: 1.1 - Активная разработка

Идентификатор потока, запрошенный в postMessageToThread(), является идентификатором текущего потока.

ERR_WORKER_MESSAGING_TIMEOUT

Добавлено в: v22.5.0

[Stable: 1 - Experimental]

Stable: 1 Стабильно: 1.1 - Активная разработка

Отправка сообщения через postMessageToThread() превысила время ожидания.

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_CHUNK_EXTENSIONS_OVERFLOW

Добавлено в: v21.6.2, v20.11.1, v18.19.1

Было получено слишком много данных для расширений чанка. Чтобы защититься от вредоносных или неправильно настроенных клиентов, если получено более 16 КиБ данных, будет выдана Error с этим кодом.

HPE_HEADER_OVERFLOW

[История]

ВерсияИзменения
v11.4.0, v10.15.0Максимальный размер заголовка в http_parser был установлен в 8 КиБ.

Было получено слишком много данных заголовка HTTP. Чтобы защититься от злонамеренных или неправильно настроенных клиентов, если получено более maxHeaderSize данных заголовка HTTP, анализ HTTP будет прерван без создания объекта запроса или ответа, и будет выдана Error с этим кодом.

HPE_UNEXPECTED_CONTENT_LENGTH

Сервер отправляет как заголовок Content-Length, так и Transfer-Encoding: chunked.

Transfer-Encoding: chunked позволяет серверу поддерживать постоянное HTTP-соединение для динамически генерируемого контента. В этом случае HTTP-заголовок Content-Length не может быть использован.

Используйте Content-Length или Transfer-Encoding: chunked.

MODULE_NOT_FOUND

[История]

ВерсияИзменения
v12.0.0Добавлено свойство requireStack.

Файл модуля не удалось разрешить загрузчиком модулей CommonJS при попытке операции require() или при загрузке точки входа программы.

Устаревшие коды ошибок Node.js

[Стабильно: 0 - Устарело]

Стабильно: 0 Стабильность: 0 - Устарело. Эти коды ошибок либо несовместимы, либо были удалены.

ERR_CANNOT_TRANSFER_OBJECT

Добавлено в: v10.5.0

Удалено в: v12.5.0

Значение, переданное в postMessage(), содержало объект, который не поддерживается для передачи.

ERR_CPU_USAGE

Удалено в: v15.0.0

Нативный вызов из process.cpuUsage не удалось обработать.

ERR_CRYPTO_HASH_DIGEST_NO_UTF16

Добавлено в: v9.0.0

Удалено в: v12.12.0

Кодировка UTF-16 использовалась с hash.digest(). Хотя метод hash.digest() действительно позволяет передавать аргумент encoding, в результате чего метод возвращает строку, а не Buffer, кодировка UTF-16 (например, ucs или utf16le) не поддерживается.

ERR_CRYPTO_SCRYPT_INVALID_PARAMETER

Удалено в: v23.0.0

В crypto.scrypt() или crypto.scryptSync() передан несовместимый набор параметров. Новые версии Node.js используют код ошибки ERR_INCOMPATIBLE_OPTION_PAIR вместо этого, что соответствует другим API.

Удалено в: v23.0.0

В методы fs.symlink() или fs.symlinkSync() передан неверный тип символической ссылки.

ERR_HTTP2_FRAME_ERROR

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется при возникновении ошибки при отправке отдельного фрейма в сессии HTTP/2.

ERR_HTTP2_HEADERS_OBJECT

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда ожидается объект заголовков HTTP/2.

ERR_HTTP2_HEADER_REQUIRED

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда в сообщении HTTP/2 отсутствует обязательный заголовок.

ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND

Добавлено в: v9.0.0

Удалено в: v10.0.0

Информационные заголовки HTTP/2 должны отправляться только до вызова метода Http2Stream.prototype.respond().

ERR_HTTP2_STREAM_CLOSED

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда действие выполнено над потоком HTTP/2, который уже был закрыт.

ERR_HTTP_INVALID_CHAR

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда недопустимый символ найден в сообщении о статусе ответа HTTP (фразе причины).

ERR_IMPORT_ASSERTION_TYPE_FAILED

Добавлено в: v17.1.0, v16.14.0

Удалено в: v21.1.0

Проверка импорта не пройдена, что препятствует импорту указанного модуля.

ERR_IMPORT_ASSERTION_TYPE_MISSING

Добавлено в: v17.1.0, v16.14.0

Удалено в: v21.1.0

Отсутствует утверждение импорта, что препятствует импорту указанного модуля.

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED

Добавлено в: v17.1.0, v16.14.0

Удалено в: v21.1.0

Атрибут импорта не поддерживается этой версией Node.js.

ERR_INDEX_OUT_OF_RANGE

Добавлено в: v10.0.0

Удалено в: v11.0.0

Данный индекс вышел за пределы допустимого диапазона (например, отрицательные смещения).

ERR_INVALID_OPT_VALUE

Добавлено в: v8.0.0

Удалено в: v15.0.0

В объект параметров было передано недопустимое или неожиданное значение.

ERR_INVALID_OPT_VALUE_ENCODING

Добавлено в: v9.0.0

Удалено в: v15.0.0

Была передана недопустимая или неизвестная кодировка файла.

ERR_INVALID_PERFORMANCE_MARK

Добавлено в: v8.5.0

Удалено в: v16.7.0

При использовании Performance Timing API (perf_hooks) метка производительности недействительна.

ERR_INVALID_TRANSFER_OBJECT

[История]

ВерсияИзменения
v21.0.0Вместо этого выбрасывается DOMException.
v21.0.0Удалено в: v21.0.0

Недопустимый объект передачи был передан в postMessage().

ERR_MANIFEST_ASSERT_INTEGRITY

Удалено в: v22.2.0

Была предпринята попытка загрузить ресурс, но ресурс не соответствовал целостности, определенной манифестом политики. Дополнительные сведения см. в документации по манифестам политики.

ERR_MANIFEST_DEPENDENCY_MISSING

Удалено в: v22.2.0

Была предпринята попытка загрузить ресурс, но ресурс не был указан в качестве зависимости из места, которое пыталось его загрузить. Дополнительные сведения см. в документации по манифестам политики.

ERR_MANIFEST_INTEGRITY_MISMATCH

Удалено в: v22.2.0

Была предпринята попытка загрузить манифест политики, но в манифесте было несколько записей для ресурса, которые не совпадали друг с другом. Обновите записи манифеста, чтобы они соответствовали, чтобы устранить эту ошибку. Дополнительные сведения см. в документации по манифестам политики.

ERR_MANIFEST_INVALID_RESOURCE_FIELD

Удалено в: v22.2.0

Ресурс манифеста политики имел недопустимое значение для одного из своих полей. Обновите запись манифеста, чтобы она соответствовала, чтобы устранить эту ошибку. Дополнительные сведения см. в документации по манифестам политики.

ERR_MANIFEST_INVALID_SPECIFIER

Removed in: v22.2.0

Ресурс манифеста политики имел неверное значение для одного из своих сопоставлений зависимостей. Обновите запись манифеста, чтобы исправить эту ошибку. Дополнительную информацию смотрите в документации по манифестам политики.

ERR_MANIFEST_PARSE_POLICY

Removed in: v22.2.0

Была предпринята попытка загрузить манифест политики, но манифест не удалось разобрать. Дополнительную информацию смотрите в документации по манифестам политики.

ERR_MANIFEST_TDZ

Removed in: v22.2.0

Была предпринята попытка чтения из манифеста политики, но инициализация манифеста еще не произошла. Скорее всего, это ошибка в Node.js.

ERR_MANIFEST_UNKNOWN_ONERROR

Removed in: v22.2.0

Был загружен манифест политики, но он имел неизвестное значение для своего поведения "onerror". Дополнительную информацию смотрите в документации по манифестам политики.

ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST

Removed in: v15.0.0

Этот код ошибки был заменен на ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST в Node.js v15.0.0, поскольку он больше не является точным, так как теперь существуют и другие типы передаваемых объектов.

ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST

[История]

ВерсияИзменения
v21.0.0Вместо этого выбрасывается DOMException.
v21.0.0Removed in: v21.0.0
v15.0.0Added in: v15.0.0

Объект, который необходимо явно указать в аргументе transferList, находится в объекте, переданном в вызов postMessage(), но не указан в transferList для этого вызова. Обычно это MessagePort.

В версиях Node.js до v15.0.0 здесь использовался код ошибки ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST. Однако набор типов передаваемых объектов был расширен и охватывает больше типов, чем MessagePort.

ERR_NAPI_CONS_PROTOTYPE_OBJECT

Added in: v9.0.0

Removed in: v10.0.0

Используется Node-API, когда Constructor.prototype не является объектом.

ERR_NAPI_TSFN_START_IDLE_LOOP

Добавлено в: v10.6.0, v8.16.0

Удалено в: v14.2.0, v12.17.0

В основном потоке значения удаляются из очереди, связанной с потокобезопасной функцией, в цикле ожидания. Эта ошибка указывает на то, что произошла ошибка при попытке запустить цикл.

ERR_NAPI_TSFN_STOP_IDLE_LOOP

Добавлено в: v10.6.0, v8.16.0

Удалено в: v14.2.0, v12.17.0

Как только в очереди не остается элементов, цикл ожидания должен быть приостановлен. Эта ошибка указывает на то, что не удалось остановить цикл ожидания.

ERR_NO_LONGER_SUPPORTED

Вызван API Node.js неподдерживаемым образом, например, Buffer.write(string, encoding, offset[, length]).

ERR_OUTOFMEMORY

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется в общем смысле для обозначения того, что операция вызвала нехватку памяти.

ERR_PARSE_HISTORY_DATA

Добавлено в: v9.0.0

Удалено в: v10.0.0

Модуль node:repl не смог разобрать данные из файла истории REPL.

ERR_SOCKET_CANNOT_SEND

Добавлено в: v9.0.0

Удалено в: v14.0.0

Данные не могут быть отправлены через сокет.

ERR_STDERR_CLOSE

[История]

ВерсияИзменения
v10.12.0Вместо выдачи ошибки process.stderr.end() теперь закрывает только сторону потока, но не базовый ресурс, что делает эту ошибку устаревшей.
v10.12.0Удалено в: v10.12.0

Была предпринята попытка закрыть поток process.stderr. По замыслу, Node.js не позволяет пользовательскому коду закрывать потоки stdout или stderr.

ERR_STDOUT_CLOSE

[История]

ВерсияИзменения
v10.12.0Вместо выдачи ошибки process.stderr.end() теперь закрывает только сторону потока, но не базовый ресурс, что делает эту ошибку устаревшей.
v10.12.0Удалено в: v10.12.0

Была предпринята попытка закрыть поток process.stdout. По замыслу, Node.js не позволяет пользовательскому коду закрывать потоки stdout или stderr.

ERR_STREAM_READ_NOT_IMPLEMENTED

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда делается попытка использовать читаемый поток, в котором не реализован readable._read().

ERR_TLS_RENEGOTIATION_FAILED

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда запрос на повторное согласование TLS не удался неспецифическим образом.

ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER

Добавлено в: v10.5.0

Удалено в: v14.0.0

Во время сериализации был обнаружен SharedArrayBuffer, память которого не управляется ни движком JavaScript, ни Node.js. Такой SharedArrayBuffer не может быть сериализован.

Это может произойти только в том случае, если собственные дополнения создают SharedArrayBuffer в "externalized" режиме или переводят существующий SharedArrayBuffer в externalized режим.

ERR_UNKNOWN_STDIN_TYPE

Добавлено в: v8.0.0

Удалено в: v11.7.0

Была предпринята попытка запустить процесс Node.js с неизвестным типом файла stdin. Эта ошибка обычно указывает на ошибку в самом Node.js, хотя ее может вызвать и пользовательский код.

ERR_UNKNOWN_STREAM_TYPE

Добавлено в: v8.0.0

Удалено в: v11.7.0

Была предпринята попытка запустить процесс Node.js с неизвестным типом файла stdout или stderr. Эта ошибка обычно указывает на ошибку в самом Node.js, хотя ее может вызвать и пользовательский код.

ERR_V8BREAKITERATOR

Использовался API V8 BreakIterator, но полный набор данных ICU не установлен.

ERR_VALUE_OUT_OF_RANGE

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется, когда заданное значение выходит за пределы допустимого диапазона.

ERR_VM_MODULE_LINKING_ERRORED

Добавлено в: v10.0.0

Удалено в: v18.1.0, v16.17.0

Функция компоновщика вернула модуль, для которого компоновка не удалась.

ERR_VM_MODULE_NOT_LINKED

Модуль должен быть успешно скомпонован перед созданием экземпляра.

ERR_WORKER_UNSUPPORTED_EXTENSION

Добавлено в: v11.0.0

Удалено в: v16.9.0

Имя пути, используемое для основного скрипта рабочего процесса, имеет неизвестное расширение файла.

ERR_ZLIB_BINDING_CLOSED

Добавлено в: v9.0.0

Удалено в: v10.0.0

Используется при попытке использовать объект zlib после того, как он уже был закрыт.

Коды ошибок OpenSSL

Ошибки действительности времени

CERT_NOT_YET_VALID

Сертификат еще не действителен: дата notBefore позже текущего времени.

CERT_HAS_EXPIRED

Срок действия сертификата истек: дата notAfter раньше текущего времени.

CRL_NOT_YET_VALID

Список отзыва сертификатов (CRL) имеет дату выпуска в будущем.

CRL_HAS_EXPIRED

Срок действия списка отзыва сертификатов (CRL) истек.

CERT_REVOKED

Сертификат был отозван; он находится в списке отзыва сертификатов (CRL).

UNABLE_TO_GET_ISSUER_CERT

Не удалось найти сертификат издателя для найденного сертификата. Обычно это означает, что список доверенных сертификатов не полон.

UNABLE_TO_GET_ISSUER_CERT_LOCALLY

Издатель сертификата неизвестен. Это происходит, если издатель не включен в список доверенных сертификатов.

DEPTH_ZERO_SELF_SIGNED_CERT

Переданный сертификат является самоподписанным, и тот же сертификат не может быть найден в списке доверенных сертификатов.

SELF_SIGNED_CERT_IN_CHAIN

Издатель сертификата неизвестен. Это происходит, если издатель не включен в список доверенных сертификатов.

CERT_CHAIN_TOO_LONG

Длина цепочки сертификатов превышает максимальную глубину.

UNABLE_TO_GET_CRL

Не удалось найти CRL, на который ссылается сертификат.

UNABLE_TO_VERIFY_LEAF_SIGNATURE

Не удалось проверить ни одну подпись, потому что цепочка содержит только один сертификат, и он не является самоподписанным.

CERT_UNTRUSTED

Корневой центр сертификации (CA) не помечен как доверенный для указанной цели.

Основные ошибки расширения

INVALID_CA

Сертификат CA недействителен. Либо это не CA, либо его расширения не соответствуют предоставленной цели.

PATH_LENGTH_EXCEEDED

Параметр pathlength basicConstraints превышен.

HOSTNAME_MISMATCH

Сертификат не соответствует предоставленному имени.

Ошибки использования и политики

INVALID_PURPOSE

Предоставленный сертификат нельзя использовать для указанной цели.

CERT_REJECTED

Корневой центр сертификации помечен как отклоняющий указанную цель.

Ошибки форматирования

CERT_SIGNATURE_FAILURE

Недействительная подпись сертификата.

CRL_SIGNATURE_FAILURE

Недействительная подпись списка отзыва сертификатов (CRL).

ERROR_IN_CERT_NOT_BEFORE_FIELD

Поле notBefore сертификата содержит недействительное время.

ERROR_IN_CERT_NOT_AFTER_FIELD

Поле notAfter сертификата содержит недействительное время.

ERROR_IN_CRL_LAST_UPDATE_FIELD

Поле lastUpdate списка CRL содержит недействительное время.

ERROR_IN_CRL_NEXT_UPDATE_FIELD

Поле nextUpdate списка CRL содержит недействительное время.

UNABLE_TO_DECRYPT_CERT_SIGNATURE

Не удалось расшифровать подпись сертификата. Это означает, что фактическое значение подписи не удалось определить, а не то, что оно не соответствует ожидаемому значению. Это имеет смысл только для ключей RSA.

UNABLE_TO_DECRYPT_CRL_SIGNATURE

Не удалось расшифровать подпись списка отзыва сертификатов (CRL): это означает, что фактическое значение подписи не удалось определить, а не то, что оно не соответствует ожидаемому значению.

UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY

Не удалось прочитать открытый ключ в SubjectPublicKeyInfo сертификата.

Другие ошибки OpenSSL

OUT_OF_MEM

Произошла ошибка при попытке выделить память. Этого никогда не должно происходить.