Spec-Zone.ru › Node.js 22 LTS

Ошибки

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

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

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

Свойство error.message ошибок, возникающих в Node.js, может изменяться в любых версиях. Вместо этого для идентификации ошибки используйте error.code. Для DOMException используйте domException.name, чтобы определить его тип.

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

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

Все ошибки JavaScript обрабатываются как исключения, которые немедленно создают и выбрасывают ошибку с помощью стандартного механизма throw JavaScript. Они обрабатываются с помощью конструкции 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.

    const fs = require('node: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 на основе потоков и генераторов событий, которые представляют собой последовательность асинхронных операций во времени (в отличие от одной операции, которая может завершиться успехом или ошибкой).

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

  • targetObject <Object>
  • constructorOpt <Function>

Создает свойство .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

  • Тип: <number>

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

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

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

error.cause

Добавлено в: v16.9.0
  • Тип: <any>

Если свойство 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

  • Тип: <string>

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

error.message

  • Тип: <string>

Свойство 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

  • Тип: <string>

Свойство 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 содержит строку с описанием неудачного системного вызова.

Распространенные системные ошибки

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

  • 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

  • Расширяет <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

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

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

ABORT_ERR

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

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

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

В этом коде не используется стандартное соглашение 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

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

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; он отличается только прототипом результирующего объекта. Uint8Arrays обычно принимаются во всех основных API Node.js, где используются Buffers; они доступны во всех контекстах.

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_CPU_PROFILE_ALREADY_STARTED

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

Профиль CPU с указанным именем уже запущен.

ERR_CPU_PROFILE_NOT_STARTED

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

Профиль CPU с указанным именем не запущен.

ERR_CPU_PROFILE_TOO_MANY

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

Собирается слишком много профилей CPU.

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED

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

ERR_CRYPTO_ECDH_INVALID_FORMAT

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

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY

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

ERR_CRYPTO_ENGINE_UNKNOWN

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

ERR_CRYPTO_FIPS_FORCED

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

ERR_CRYPTO_FIPS_UNAVAILABLE

Предпринята попытка включить или отключить режим 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

Указаны недопустимые параметры алгоритма 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

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

ERR_CRYPTO_PBKDF2_ERROR

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

ERR_CRYPTO_SCRYPT_INVALID_PARAMETER

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

ERR_CRYPTO_SCRYPT_NOT_SUPPORTED

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

ERR_CRYPTO_SIGN_KEY_REQUIRED

Методу sign.sign() не был передан ключ key для подписи.

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH

Функция crypto.timingSafeEqual() была вызвана с аргументами 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

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

ERR_DEBUGGER_STARTUP_ERROR

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

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

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

Не удалось задать DNS-сервер с помощью c-ares.

ERR_DOMAIN_CALLBACK_NOT_AVAILABLE

Модуль node:domain недоступен, поскольку не удалось настроить необходимые обработчики ошибок: ранее уже был вызван process.setUncaughtExceptionCaptureCallback().

ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE

Не удалось вызвать process.setUncaughtExceptionCaptureCallback(), поскольку модуль node:domain был загружен ранее.

В трассировку стека добавляется информация о моменте загрузки модуля node:domain.

ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION

Не удалось вызвать v8.startupSnapshot.setDeserializeMainFunction(), поскольку он уже вызывался ранее.

ERR_ENCODING_INVALID_ENCODED_DATA

Данные, переданные в 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() предпринята попытка перезаписать уже существующий файл при установленных в true параметрах force и errorOnExist.

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() предпринята попытка скопировать данные в сокет.

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

Предпринята попытка прочитать файл, размер которого превышает поддерживаемый предел в 2 ГиБ для fs.readFile(). Это ограничение связано не с Buffer, а с внутренними ограничениями ввода-вывода. Для работы с файлами большего размера используйте fs.createReadStream(), чтобы считывать файл частями.

ERR_FS_INVALID_SYMLINK_TYPE

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

ERR_FS_WATCH_QUEUE_OVERFLOW

Количество ожидающих обработки событий файловой системы превысило размер, заданный параметром maxQueue в fs.watch().

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_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 не может превышать 16 382 байта.

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

Изменение кодировки сокета запрещено согласно разделу 3 RFC 7230.

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

Флаг --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 произошла ошибка или было использовано внутреннее API 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

С помощью AsyncHooks передан недопустимый asyncId или triggerAsyncId. Идентификатор меньше -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, принимающем URL file: (например, в некоторых функциях модуля fs), обнаружен URL файла с несовместимым хостом. Такая ситуация возможна только в Unix-подобных системах, где поддерживается только localhost или пустой хост.

ERR_INVALID_FILE_URL_PATH

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

Объект возникшей ошибки содержит свойство input, в котором находится объект URL недопустимого URL file:.

ERR_INVALID_HANDLE_TYPE

Предпринята попытка отправить неподдерживаемый «handle» по каналу межпроцессного взаимодействия дочернему процессу. Дополнительную информацию см. в разделах 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_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

В качестве входных данных stdio для асинхронного процесса fork передан 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 конструктору URLSearchParams из WHATWG не представляет собой кортеж [name, value] — то есть элемент не является итерируемым или состоит не ровно из двух элементов.

ERR_INVALID_TYPESCRIPT_SYNTAX

История
Версия Изменения
v22.14.0

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

v22.10.0

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

Указанный синтаксис TypeScript недействителен.

ERR_INVALID_URI

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

ERR_INVALID_URL

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

ERR_INVALID_URL_SCHEME

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

ERR_IPC_CHANNEL_CLOSED

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

ERR_IPC_DISCONNECTED

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

ERR_IPC_ONE_PIPE

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

ERR_IPC_SYNC_FORK

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

ERR_IP_BLOCKED

IP заблокирован компонентом net.BlockList.

ERR_LOADER_CHAIN_INCOMPLETE

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

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

ERR_LOAD_SQLITE_EXTENSION

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

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

ERR_MEMORY_ALLOCATION_FAILED

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

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE

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

Не удалось десериализовать сообщение, отправленное в MessagePort, в целевом контексте Context vm. В настоящее время не все объекты 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, не поддерживает создание рабочих потоков. Причина — отсутствие поддержки рабочих потоков со стороны встраивающей программы. В частности, эта ошибка не возникает в стандартных сборках 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

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

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

ERR_OPERATION_FAILED

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

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

ERR_OPTIONS_BEFORE_BOOTSTRAPPING

Добавлено в: v22.16.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() вызывает эту ошибку, когда для параметра типа <string> указано значение типа <boolean> или для параметра типа <boolean> указано значение типа <string>.

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

Добавлено в: v22.13.0
Стабильность: 1 — Экспериментальный

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

ERR_QUIC_CONNECTION_FAILED

Добавлено в: v22.10.0
Стабильность: 1 — Экспериментальный

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

ERR_QUIC_ENDPOINT_CLOSED

Добавлено в: v22.10.0
Стабильность: 1 — Экспериментальный

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

ERR_QUIC_OPEN_STREAM_FAILED

Добавлено в: v22.10.0
Стабильность: 1 — Экспериментальный

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

ERR_QUIC_TRANSPORT_ERROR

Добавлено в: v22.13.0
Стабильность: 1 — Экспериментальный

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

ERR_QUIC_VERSION_NEGOTIATION_ERROR

Добавлено в: v22.13.0
Стабильность: 1 — Экспериментальный

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

ERR_REQUIRE_ASYNC_MODULE

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

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

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

ERR_REQUIRE_CYCLE_MODULE

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

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

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

ERR_REQUIRE_ESM

История
Версия Изменения
v22.12.0

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

Стабильность: 0 — Устаревший

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

Этот код ошибки устарел, поскольку require() теперь поддерживает загрузку синхронных модулей ES. Если require() обнаружит модуль ES, содержащий await await, вместо этого будет вызвана ошибка ERR_REQUIRE_ASYNC_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_SOURCE_MAP_CORRUPT

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

ERR_SOURCE_MAP_MISSING_SOURCE

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

ERR_SQLITE_ERROR

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

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

ERR_SRI_PARSE

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

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_UNSHIFT_AFTER_END_EVENT

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

ERR_STREAM_WRAP

Предотвращает прерывание, если для Socket задан декодер строк или декодер находится в состоянии 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_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_IDENTIY_HINT_FAILED

Не удалось задать подсказку идентификатора PSK. Возможно, подсказка слишком длинная.

ERR_TLS_RENEGOTIATION_DISABLED

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

ERR_TLS_REQUIRED_SERVER_NAME

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

ERR_TLS_SESSION_ATTACK

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

ERR_TLS_SNI_FROM_SERVER

Предпринята попытка отправить индикацию имени сервера с сокета TLS на стороне сервера, хотя это допустимо только на стороне клиента.

ERR_TRACE_EVENTS_CATEGORY_REQUIRED

Для метода trace_events.createTracing() требуется как минимум одна категория событий трассировки.

ERR_TRACE_EVENTS_UNAVAILABLE

Не удалось загрузить модуль node:trace_events, поскольку Node.js был собран с флагом --without-v8-platform.

ERR_TRAILING_JUNK_AFTER_STREAM_END

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

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

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

ERR_UNKNOWN_MODULE_FORMAT

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

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_NODE_MODULES_TYPE_STRIPPING

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

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

ERR_UNSUPPORTED_RESOLVE_REQUEST

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

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

ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX

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

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

ERR_USE_AFTER_CLOSE

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

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

Добавлено в: v22.5.0
Стабильность: 1.1 - Активная разработка

В целевом потоке возникла ошибка при обработке сообщения, отправленного через postMessageToThread().

ERR_WORKER_MESSAGING_FAILED

Добавлено в: v22.5.0
Стабильность: 1.1 - Активная разработка

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

ERR_WORKER_MESSAGING_SAME_THREAD

Добавлено в: v22.5.0
Стабильность: 1.1 - Активная разработка

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

ERR_WORKER_MESSAGING_TIMEOUT

Добавлено в: v22.5.0
Стабильность: 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 из-за неправильной конфигурации.

ERR_ZSTD_INVALID_PARAM

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

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 — Устарело. Эти коды ошибок либо непоследовательны, либо были удалены.

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

Вместе с hash.digest() использовалась кодировка UTF-16. Хотя метод 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.

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

При использовании 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

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

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

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

Ошибка, указывающая на сбой в состоянии лексера.

ERR_TAP_PARSER_ERROR

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

ERR_TAP_VALIDATION_ERROR

Эта ошибка указывает на неудачную проверку TAP.

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 BreakIterator V8, но полный набор данных 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

Корневой 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/dist/latest-v22.x/docs/api/errors.html

Spec-Zone.ru

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