Spec-Zone.ru › Node.js 20 LTS

Ошибки

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

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

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

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

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

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

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

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

  • Некоторые асинхронные методы возвращают <Promise>; всегда учитывайте возможность его отклонения. О том, как процесс реагирует на необработанное отклонение промиса, см. описание флага --unhandled-rejections.

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

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

Для 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

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

Используется, когда дочерний процесс запускается с помощью fork без указания канала 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

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

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.

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.

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE

Асимметричный тип ключа не зарегистрирован для использования в реестре типов веб-ключей JSON.

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

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

ERR_DEBUGGER_STARTUP_ERROR

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

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

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

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

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

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 требуется допустимый источник.

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

После отправки подключённому узлу кадра SETTINGS протокола HTTP/2 узел должен подтвердить получение и применение новых параметров 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 был отменён.

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

ERR_HTTP2_UNSUPPORTED_PROTOCOL

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

ERR_ILLEGAL_CONSTRUCTOR

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

ERR_IMPORT_ASSERTION_TYPE_FAILED

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

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

ERR_IMPORT_ASSERTION_TYPE_MISSING

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

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

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED

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

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

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

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

Node.js API не распознаёт указанный адрес.

ERR_INVALID_ADDRESS_FAMILY

Node.js API не распознаёт указанное семейство адресов.

ERR_INVALID_ARG_TYPE

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

ERR_INVALID_ARG_VALUE

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

ERR_INVALID_ASYNC_ID

С помощью AsyncHooks был передан недопустимый asyncId или triggerAsyncId. Идентификатор меньше -1 не должен встречаться.

ERR_INVALID_BUFFER_SIZE

Для Buffer была выполнена операция swap, но его размер несовместим с этой операцией.

ERR_INVALID_CHAR

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

ERR_INVALID_CURSOR_POS

Курсор в указанном потоке нельзя переместить в заданную строку без указания столбца.

ERR_INVALID_FD

Недопустимый файловый дескриптор ('fd') (например, его значение отрицательное).

ERR_INVALID_FD_TYPE

Недопустимый тип файлового дескриптора ('fd').

ERR_INVALID_FILE_URL_HOST

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

ERR_INVALID_FILE_URL_PATH

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

ERR_INVALID_HANDLE_TYPE

Была предпринята попытка отправить неподдерживаемый «дескриптор» по каналу межпроцессного взаимодействия дочернему процессу. Дополнительные сведения см. в разделах 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 Performance Timing (perf_hooks) обнаружена недопустимая отметка производительности.

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

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

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

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

ERR_INVALID_TRANSFER_OBJECT

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

ERR_INVALID_TUPLE

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

ERR_INVALID_URI

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

ERR_INVALID_URL

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

ERR_INVALID_URL_SCHEME

Была предпринята попытка использовать URL с несовместимой схемой (протоколом) для определённой цели. Эта ошибка используется только при поддержке WHATWG URL API в модуле 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_LOADER_CHAIN_INCOMPLETE

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

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

ERR_MANIFEST_ASSERT_INTEGRITY

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

ERR_MANIFEST_DEPENDENCY_MISSING

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

ERR_MANIFEST_INTEGRITY_MISMATCH

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

ERR_MANIFEST_INVALID_RESOURCE_FIELD

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

ERR_MANIFEST_INVALID_SPECIFIER

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

ERR_MANIFEST_PARSE_POLICY

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

ERR_MANIFEST_TDZ

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

ERR_MANIFEST_UNKNOWN_ONERROR

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

ERR_MEMORY_ALLOCATION_FAILED

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

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE

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

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

ERR_METHOD_NOT_IMPLEMENTED

Требуемый метод не реализован.

ERR_MISSING_ARGS

Не был передан обязательный аргумент Node.js API. Этот код используется только для строгого соответствия спецификации 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, не поддерживает создание Worker. Это связано с отсутствием поддержки Worker во встраиваемой среде. В частности, эта ошибка не возникает в стандартных сборках Node.js.

ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST

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

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

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

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

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

При значении true параметра strict функция 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

При значении true параметра strict функция 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 Module в непосредственном цикле участвует переход CommonJS в ESM или ESM в CommonJS. Это запрещено, поскольку модули ES нельзя вычислять, пока они уже вычисляются.

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

ERR_REQUIRE_ASYNC_MODULE

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

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

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

ERR_REQUIRE_ESM

История
Версия Изменения
v20.19.0

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

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

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

Эта ошибка объявлена устаревшей, поскольку 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

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

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

Отменяет прерывание, если для сокета задан декодер строк или декодер находится в состоянии 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

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

Произошла необработанная ошибка (например, когда объект EventEmitter генерирует событие 'error', но обработчик 'error' не зарегистрирован).

ERR_UNKNOWN_BUILTIN_MODULE

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

ERR_UNKNOWN_CREDENTIAL

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

ERR_UNKNOWN_ENCODING

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

ERR_UNKNOWN_FILE_EXTENSION

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

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

ERR_UNKNOWN_MODULE_FORMAT

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

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

ERR_UNKNOWN_SIGNAL

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

ERR_UNSUPPORTED_DIR_IMPORT

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

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

ERR_UNSUPPORTED_ESM_URL_SCHEME

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

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_USE_AFTER_CLOSE

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

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

ERR_VALID_PERFORMANCE_ENTRY_TYPE

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

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

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

ERR_WORKER_MESSAGING_FAILED

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

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

ERR_WORKER_MESSAGING_SAME_THREAD

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

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

ERR_WORKER_MESSAGING_TIMEOUT

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

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

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. Для защиты от вредоносных или неправильно настроенных клиентов, если получено более maxHeaderSize данных заголовков HTTP, разбор HTTP будет прерван без создания объекта запроса или ответа, а будет отправлено событие Error с этим кодом.

HPE_CHUNK_EXTENSIONS_OVERFLOW

Добавлено в: v20.11.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() или загрузке точки входа программы.

Устаревшие коды ошибок 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

Вместе с 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_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_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST

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

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

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_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 в этот режим.

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

Превышено значение параметра 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-v20.x/docs/api/errors.html

Spec-Zone.ru

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