Spec-Zone.ru › Node.js

Ошибки

Приложения, работающие в 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.

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

Любое использование механизма 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
    })(); copy
  • Большинство асинхронных методов, принимающих функцию 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
    }); copy
  • Когда асинхронный метод вызывается для объекта, который является 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); copy
  • Несколько обычно асинхронных методов в API Node.js все еще могут использовать механизм throw для поднятия исключений, которые необходимо обработать с помощью try…catch. Нет исчерпывающего списка таких методов; обратитесь к документации каждого метода, чтобы определить необходимый механизм обработки ошибок.

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

Для всех объектов 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'));
}); copy

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

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

Класс: Error

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

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

new Error(message[, options])

  • message <строка>
  • options <Объект>
    • cause <любой> Ошибка, которая привела к созданию новой ошибки.

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

Error.captureStackTrace(targetObject[, constructorOpt])

  • targetObject <Объект>
  • constructorOpt <Функция>

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

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

Первая строка трассировки будет иметь префикс ${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(); copy

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, если он установлен.

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) copy

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 copy

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) copy

Первая строка отформатирована как <error class name>: <error message>, и за ней следует ряд фреймов стека (каждая строка начинается с "at "). Каждый фрейм описывает место вызова в коде, приведшее к возникновению ошибки. V8 пытается отобразить имя для каждой функции (по имени переменной, имени функции или имени метода объекта), но иногда не может найти подходящее имя. Если V8 не может определить имя функции, для этого фрейма будет отображаться только информация о местоположении. В противном случае, определённое имя функции будет отображено с добавлением информации о местоположении в скобках.

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

Информация о местоположении будет одной из:

  • 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

  • Расширяет: <errors.Error>

Указывает на сбой утверждения. Подробнее см. Class: assert.AssertionError.

Класс: RangeError

  • Расширяет: <errors.Error>

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

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

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

Класс: ReferenceError

  • Расширяет: <errors.Error>

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

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

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

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

Класс: SyntaxError

  • Расширяет: <errors.Error>

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

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

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

Класс: SystemError

  • Расширяет: <errors.Error>

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

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

error.address

  • <string>

Если присутствует, error.address — это строка, описывающая адрес, к которому не удалось подключиться по сети.

error.code

  • <string>

Свойство error.code — это строка, представляющая код ошибки.

error.dest

  • <string>

Если присутствует, error.dest — это путь к файлу назначения при сообщении об ошибке файловой системы.

error.errno

  • <number>

Свойство error.errno — это отрицательное число, соответствующее коду ошибки, определённому в libuv Error handling.

В Windows номер ошибки, предоставленный системой, будет нормализован libuv.

Чтобы получить строковое представление кода ошибки, используйте util.getSystemErrorName(error.errno).

error.info

  • <Object>

Если присутствует, error.info — это объект с деталями об ошибке.

error.message

  • <string>

error.message — это читабельное описание ошибки, предоставленное системой.

error.path

  • <string>

Если присутствует, error.path — это строка, содержащая соответствующий недействительный путь.

error.port

  • <number>

Если присутствует, error.port — это порт сетевого соединения, который недоступен.

error.syscall

  • <string>

Свойство error.syscall — это строка, описывающая системный вызов syscall, который завершился ошибкой.

Общие системные ошибки

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

  • EACCES (Отказано в доступе): попытка доступа к файлу способом, запрещённым его правами доступа.

  • EADDRINUSE (Адрес уже используется): попытка привязать сервер (net, http или https) к локальному адресу завершилась неудачей, так как другой сервер на локальной системе уже использует этот адрес.

  • ECONNREFUSED (Подключение отклонено): подключение не удалось, так как целевой компьютер активно его отклонил. Обычно это происходит при попытке подключения к сервису, который неактивен на удалённом хосте.

  • ECONNRESET (Подключение прервано удалённой стороной): подключение было принудительно закрыто удалённой стороной. Это обычно происходит из-за потери соединения на удалённом сокете из-за таймаута или перезагрузки.

  • EEXIST (Файл существует): существующий файл был целью операции, которая требовала, чтобы файла не было.

  • EISDIR (Это директория): операция ожидала файл, но указанный путь был директорией.

  • EMFILE (Превышен лимит открытых файлов в системе): достигнуто максимальное количество разрешённых дескрипторов файлов в системе, и запросы на другой дескриптор не могут быть выполнены, пока по крайней мере один не будет закрыт.

  • ENOENT (Файл или директория не найдены): часто возникает при операциях fs, чтобы указать, что какой-то компонент указанного пути не существует.

  • ENOTDIR (Это не директория): компонент заданного пути существовал, но не был директорией, как ожидалось. Обычно возникает при fs.readdir.

  • ENOTEMPTY (Директория не пуста): директория с записями была целью операции, требующей пустой директории, обычно fs.unlink.

  • ENOTFOUND (Не удалось выполнить поиск DNS): указывает на сбой поиска DNS, либо EAI_NODATA или EAI_NONAME.

  • EPERM (Операция запрещена): попытка выполнить операцию, требующую повышенных привилегий.

  • EPIPE (Повреждённая труба): запись в трубе, сокете или FIFO, для которой нет процесса для чтения данных. Часто встречается на уровнях net и http, указывая, что удалённая сторона потока, в который производится запись, закрыта.

  • ETIMEDOUT (Операция истекла): запрос подключения или отправки не удался, потому что соединённая сторона не ответила должным образом после определенного периода времени. Обычно встречается в http или net. Часто признак того, что socket.end() не был правильно вызван.

Класс: TypeError

  • Расширяет <errors.Error>

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

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

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

Читаемое описание причины ошибки.

END_OF_DOCUMENT_MARKER

Коды ошибок 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 (например, через опции clientCertEngine или privateKeyEngine TLS), который не поддерживается используемой версией OpenSSL, вероятно, из-за флага компиляции OPENSSL_NO_ENGINE.

ERR_CRYPTO_ECDH_INVALID_FORMAT

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

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY

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

ERR_CRYPTO_ENGINE_UNKNOWN

Было передано неверное идентификатор движка шифрования в require('node:crypto').setEngine().

ERR_CRYPTO_FIPS_FORCED

Аргумент командной строки --force-fips был использован, но была попытка включить или отключить режим 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_KEY_OBJECT_TYPE

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

ERR_CRYPTO_INVALID_KEYLEN

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

Была предоставлена неверная длина ключа.

ERR_CRYPTO_INVALID_KEYPAIR

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

Был предоставлен неверный ключ.

ERR_CRYPTO_INVALID_KEYTYPE

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

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

ERR_CRYPTO_INVALID_MESSAGELEN

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

Была предоставлена неверная длина сообщения.

ERR_CRYPTO_INVALID_SCRYPT_PARAMS

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

Были предоставлены неверные параметры алгоритма scrypt.

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

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

END_OF_DOCUMENT_MARKER

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

Не был предоставлен закрытый key ключ для метода sign.sign().

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH

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

ERR_CRYPTO_UNKNOWN_CIPHER

Был указан неизвестный шифр.

ERR_CRYPTO_UNKNOWN_DH_GROUP

Было указано неизвестное имя группы Diffie-Hellman. См. crypto.getDiffieHellman() для списка допустимых имен групп.

ERR_CRYPTO_UNSUPPORTED_OPERATION

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

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

ERR_DEBUGGER_ERROR

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

Возникла ошибка с отладчиком debugger.

ERR_DEBUGGER_STARTUP_ERROR

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

Отладчик debugger превысил время ожидания, ожидая освобождения требуемого хоста/порта.

ERR_DLOPEN_DISABLED

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

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

ERR_DLOPEN_FAILED

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

Вызов process.dlopen() завершился неудачно.

ERR_DIR_CLOSED

Директория fs.Dir была ранее закрыта.

ERR_DIR_CONCURRENT_OPERATION

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

Была предпринята попытка синхронного чтения или закрытия для объекта 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

Данные, предоставленные 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_HTTP_BODY_NOT_ALLOWED

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

ERR_HTTP_CONTENT_LENGTH_MISMATCH

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

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

ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY

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

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

ERR_FS_CP_UNKNOWN

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

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

ERR_FS_EISDIR

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

ERR_FS_FILE_TOO_LARGE

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

ERR_FS_INVALID_SYMLINK_TYPE

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

ERR_HTTP_HEADERS_SENT

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

ERR_HTTP_INVALID_HEADER_VALUE

Было указано недопустимое значение HTTP-заголовка.

ERR_HTTP_INVALID_STATUS_CODE

Код состояния находился вне обычного диапазона кодов состояния (100-999).

ERR_HTTP_REQUEST_TIMEOUT

Клиент не отправил весь запрос в течение разрешенного времени.

ERR_HTTP_SOCKET_ASSIGNED

Указанному объекту ServerResponse уже был назначен сокет.

ERR_HTTP_SOCKET_ENCODING

Изменение кодировки сокета не разрешено в соответствии со RFC 7230 Раздел 3.

ERR_HTTP_TRAILER_INVALID

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

ERR_HTTP2_ALTSVC_INVALID_ORIGIN

Для кадров HTTP/2 ALTSVC требуется допустимый источник.

ERR_HTTP2_ALTSVC_LENGTH

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

ERR_HTTP2_CONNECT_AUTHORITY

Для запросов 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 не могут быть открыты после того, как Http2Session получил кадр GOAWAY от подключенного узла.

ERR_HTTP2_HEADER_SINGLE_VALUE

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

ERR_HTTP2_HEADERS_AFTER_RESPOND

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

ERR_HTTP2_HEADERS_SENT

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

ERR_HTTP2_INFO_STATUS_NOT_ALLOWED

Информационные коды состояния HTTP (1xx) не могут быть установлены в качестве кода состояния ответа в ответах HTTP/2.

ERR_HTTP2_INVALID_CONNECTION_HEADERS

Заголовки, специфичные для соединений HTTP/1, запрещены для использования в запросах и ответах HTTP/2.

ERR_HTTP2_INVALID_HEADER_VALUE

Было указано недопустимое значение заголовка HTTP/2.

ERR_HTTP2_INVALID_INFO_STATUS

Указан недопустимый информационный код состояния HTTP. Информационные коды состояния должны быть целыми числами между 100 и 199 (включительно).

ERR_HTTP2_INVALID_ORIGIN

HTTP/2 ORIGIN фреймы требуют валидного 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 был отменён.

ERR_HTTP2_PING_LENGTH

Длина полезной нагрузки пинга HTTP/2 должна составлять ровно 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() не может быть вызван до того, как событие 'wantTrailers' будет излучено объектом Http2Stream. Событие 'wantTrailers' будет излучено только в том случае, если параметр waitForTrailers установлен для Http2Stream.

ERR_HTTP2_UNSUPPORTED_PROTOCOL

http2.connect() получил URL, использующий любой протокол, кроме http: или https:.

ERR_ILLEGAL_CONSTRUCTOR

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

ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE

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

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

ERR_IMPORT_ATTRIBUTE_MISSING

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

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

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

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

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

ERR_INCOMPATIBLE_OPTION_PAIR

Пара опций несовместима и не может быть использована одновременно.

ERR_INPUT_TYPE_NOT_ALLOWED

Стабильность: 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. Для исправления ошибки откройте вопрос на https://github.com/nodejs/node/issues.

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 . Значение 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

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

ERR_INVALID_FILE_URL_PATH

API Node.js, потребляющий file: URL (например, некоторые функции в модуле 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

Добавлен в: 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

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

ERR_INVALID_PERFORMANCE_MARK

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

ERR_INVALID_PROTOCOL

Недопустимый options.protocol был передан в http.request().

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

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

ERR_INVALID_THIS

Функция API Node.js была вызвана с недопустимым значением 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' copy

ERR_INVALID_TUPLE

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

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_LOADER_CHAIN_INCOMPLETE

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

Обработчик загрузки ESM завершился без вызова next() и без явного сигнала об обрыве цепочки.

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, не поддерживает создание рабочих процессов. Это вызвано отсутствием поддержки embedder для рабочих процессов. В частности, эта ошибка не возникнет при стандартных сборках 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_NAPI_TSFN_START_IDLE_LOOP

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

ERR_NAPI_TSFN_STOP_IDLE_LOOP

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

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_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

Добавлен в: 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_REQUIRE_CYCLE_MODULE

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

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

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

ERR_REQUIRE_ASYNC_MODULE

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

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

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

ERR_REQUIRE_ESM

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

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

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

ERR_SCRIPT_EXECUTION_INTERRUPTED

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

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_SRI_PARSE

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

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(конец потока).

ERR_STREAM_UNSHIFT_AFTER_END_EVENT

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

ERR_STREAM_WRAP

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

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

instance.setEncoding('utf8'); copy

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 параметр, предложенный для протокола согласования ключей Diffie-Hellman (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_IDENTIY_HINT_FAILED

Не удалось установить подсказку идентичности PSK. Подсказка может быть слишком длинной.

ERR_TLS_RENEGOTIATION_DISABLED

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

ERR_TLS_REQUIRED_SERVER_NAME

При использовании TLS метод server.addContext() был вызван без указания имени хоста в первом параметре.

ERR_TLS_SESSION_ATTACK

Обнаружено чрезмерное количество переустановок TLS, что является потенциальным вектором атак типа «отказ в обслуживании».

ERR_TLS_SNI_FROM_SERVER

Была предпринята попытка выдать Server Name Indication со стороны сокета 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

Произошла необработанная ошибка (например, когда событие 'error' испускается EventEmitter, но обработчик '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 copy

ERR_UNSUPPORTED_ESM_URL_SCHEME

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

ERR_UNSUPPORTED_RESOLVE_REQUEST

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

  • голого спецификатора, который не является встроенным модулем из модуля, схема URL которого не file.
  • относительного URL (относительный 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
} copy

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

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

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

ERR_WORKER_INIT_FAILED

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

ERR_WORKER_INVALID_EXEC_ARGV

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

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

История
Версия Изменения
v11.4.0, v10.15.0

Максимальный размер заголовка в http_parser был установлен в 8 КБ.

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

HPE_CHUNK_EXTENSIONS_OVERFLOW

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

Получено слишком много данных для расширений фрагмента. Для защиты от вредоносных или неправильно настроенных клиентов, если получено более 16 КБ данных, то будет выведено 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() или при загрузке точки входа программы.

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

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

ERR_CANNOT_TRANSFER_OBJECT

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

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

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_HTTP2_FRAME_ERROR

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

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

ERR_HTTP2_HEADERS_OBJECT

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

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

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_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_TRANSFER_OBJECT

История
Версия Изменения
v21.0.0

Вместо этого выбрасывается DOMException.

v21.0.0

Удален в: v21.0.0

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

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_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

Удален в: v22.2.0

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

ERR_MANIFEST_PARSE_POLICY

Удален в: v22.2.0

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

ERR_MANIFEST_TDZ

Удален в: v22.2.0

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

ERR_MANIFEST_UNKNOWN_ONERROR

Удален в: v22.2.0

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

ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST

Удален в: 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.0

Удален в: v21.0.0

v15.0.0

Добавлен в: 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

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

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

ERR_NETWORK_IMPORT_BAD_RESPONSE

Устойчивость: 1 - Экспериментальный

Ответ был получен, но был недействительным при импорте модуля через сеть.

ERR_NETWORK_IMPORT_DISALLOWED

Устойчивость: 1 - Экспериментальный

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

ERR_NO_LONGER_SUPPORTED

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

ERR_OPERATION_FAILED

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

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

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_NOT_LINKED

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

ERR_VM_MODULE_LINKING_ERRORED

Добавлена в: v10.0.0Удалена в: v18.1.0, v16.17.0

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

ERR_WORKER_UNSUPPORTED_EXTENSION

Добавлена в: v11.0.0Удалена в: v16.9.0

У пути к основному скрипту работника неизвестное расширение файла.

ERR_ZLIB_BINDING_CLOSED

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

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

ERR_CPU_USAGE

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

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

Коды ошибок 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

Превышен параметр длины пути basicConstraints.

Ошибки, связанные с именами

HOSTNAME_MISMATCH

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

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

INVALID_PURPOSE

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

CERT_REJECTED

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

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

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

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

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/api/errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API