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

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

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

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

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

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

    const fs = require('fs/promises');
    
    (async () => {
      let data;
      try {
        data = await fs.readFile('a file that does not exist');
      } catch (err) {
        console.error('There was an error reading the file!', err);
        return;
      }
      // Otherwise handle the data
    })(); copy
  • Большинство асинхронных методов, которые принимают функцию callback, будут принимать объект Error в качестве первого аргумента этой функции. Если этот первый аргумент не null и является экземпляром Error, значит произошла ошибка, которую следует обработать.

    const fs = require('node:fs');
    fs.readFile('a file that does not exist', (err, data) => {
      if (err) {
        console.error('There was an error reading the file!', err);
        return;
      }
      // Otherwise handle the data
    }); copy
  • Когда асинхронный метод вызывается для объекта, являющегося EventEmitter, ошибки могут быть перенаправлены на событие 'error' этого объекта.

    const net = require('node:net');
    const connection = net.connect('localhost');
    
    // Adding an 'error' event handler to a stream:
    connection.on('error', (err) => {
      // If the connection is reset by the server, or if it can't
      // connect at all, or on any sort of error encountered by
      // the connection, the error will be sent here.
      console.error(err);
    });
    
    connection.pipe(process.stdout); copy
  • Несколько асинхронных методов в API Node.js могут по-прежнему использовать механизм throw для создания исключений, которые необходимо обрабатывать с помощью try…catch. Нет исчерпывающего списка таких методов; обратитесь к документации каждого метода, чтобы определить необходимый механизм обработки ошибок.

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

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

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

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

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

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

Класс: Error

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

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

new Error(message[, options])

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

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

Error.captureStackTrace(targetObject[, constructorOpt])

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

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

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

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

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

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

function a() {
  b();
}

function b() {
  c();
}

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

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

a(); copy

Error.stackTraceLimit

  • <число>

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

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

Если ему присвоено не числовое значение или отрицательное число, стеки вызовов не будут собирать какие-либо кадры.

error.cause

Добавлен в: v16.9.0
  • <любой>

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

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

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

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

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

error.code

  • <строка>

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

error.message

  • <строка>

Свойство error.message — строковое описание ошибки, заданное при вызове new Error(message). message , переданный конструктору, также будет отображаться в первой строке стека вызовов Error, однако изменение этого свойства после создания объекта Error может не изменить первую строку стека вызовов (например, когда error.stack считывается до изменения этого свойства).

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

error.stack

  • <строка>

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

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

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

Кадры генерируются только для JavaScript функций. Если, например, выполнение синхронно проходит через функцию C++ плагина, называемую cheetahify, которая сама вызывает JavaScript функцию, кадр, представляющий вызов cheetahify, не будет присутствовать в стеке вызовов:

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

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

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

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

  • native, если кадр представляет вызов внутри V8 (как в [].forEach).
  • plain-filename.js:line:column, если кадр представляет вызов внутри Node.js.
  • /absolute/path/to/file.js:line:column, если кадр представляет вызов в пользовательской программе (используя систему модулей CommonJS) или ее зависимостях.
  • <transport-protocol>:///url/to/module/file.mjs:line:column, если кадр представляет вызов в пользовательской программе (используя систему модулей ES) или ее зависимостях.

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

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

Класс: AssertionError

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

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

Класс: RangeError

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

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

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

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

Класс: ReferenceError

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

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

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

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

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

Класс: SyntaxError

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

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

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

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

Класс: SystemError

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

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

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

error.address

  • <string>

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

error.code

  • <string>

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

error.dest

  • <string>

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

error.errno

  • <number>

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

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

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

error.info

  • <Object>

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

error.message

  • <string>

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

error.path

  • <string>

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

error.port

  • <number>

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

error.syscall

  • <string>

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

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

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

  • EACCES (Доступ запрещён): Была предпринята попытка получить доступ к файлу способом, запрещённым его разрешениями на доступ.

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

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

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

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

END_OF_DOCUMENT_MARKER

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

ABORT_ERR

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

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

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

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

ERR_ACCESS_DENIED

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

ERR_AMBIGUOUS_ARGUMENT

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

ERR_ARG_NOT_ITERABLE

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

ERR_ASSERTION

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

ERR_ASYNC_CALLBACK

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

ERR_ASYNC_TYPE

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

ERR_BROTLI_COMPRESSION_FAILED

Данные, переданные в поток Brotli, не были успешно сжаты.

ERR_BROTLI_INVALID_PARAM

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

ERR_BUFFER_CONTEXT_NOT_AVAILABLE

Была предпринята попытка создать экземпляр Node.js Buffer из кода плагина или кода внедрения, в то время как контекст JS-движка не связан с экземпляром Node.js. Данные, переданные методу Buffer, будут освобождены к моменту возврата метода.

В случае возникновения этой ошибки возможной альтернативой созданию экземпляра Buffer является создание обычного Uint8Array, который отличается только прототипом результирующего объекта. Uint8Array обычно принимаются во всех ядрах Node.js, где принимаются Buffer; они доступны во всех контекстах.

ERR_BUFFER_OUT_OF_BOUNDS

Была предпринята попытка операции за пределами границ Buffer.

ERR_BUFFER_TOO_LARGE

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

ERR_CANNOT_WATCH_SIGINT

Node.js не смог отследить сигнал SIGINT.

ERR_CHILD_CLOSED_BEFORE_REPLY

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

ERR_CHILD_PROCESS_IPC_REQUIRED

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

ERR_CHILD_PROCESS_STDIO_MAXBUFFER

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

ERR_CLOSED_MESSAGE_PORT

История
Версия Изменения
v16.2.0, v14.17.1

Сообщение об ошибке было возвращено.

v11.12.0

Сообщение об ошибке было удалено.

v10.5.0

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

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

ERR_CONSOLE_WRITABLE_STREAM

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

ERR_CONSTRUCT_CALL_INVALID

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

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

ERR_CONSTRUCT_CALL_REQUIRED

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

ERR_CONTEXT_NOT_INITIALIZED

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

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED

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

ERR_CRYPTO_ECDH_INVALID_FORMAT

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

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY

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

ERR_CRYPTO_ENGINE_UNKNOWN

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

ERR_CRYPTO_FIPS_FORCED

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

ERR_CRYPTO_FIPS_UNAVAILABLE

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

ERR_CRYPTO_HASH_FINALIZED

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

ERR_CRYPTO_HASH_UPDATE_FAILED

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

ERR_CRYPTO_INCOMPATIBLE_KEY

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

ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS

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

ERR_CRYPTO_INITIALIZATION_FAILED

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

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

ERR_CRYPTO_INVALID_AUTH_TAG

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

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

ERR_CRYPTO_INVALID_COUNTER

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

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

ERR_CRYPTO_INVALID_CURVE

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

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

ERR_CRYPTO_INVALID_DIGEST

Указан невалидный алгоритм хеширования.

ERR_CRYPTO_INVALID_IV

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

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

ERR_CRYPTO_INVALID_JWK

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

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

ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE

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

ERR_CRYPTO_INVALID_KEYLEN

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

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

ERR_CRYPTO_INVALID_KEYPAIR

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

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

ERR_CRYPTO_INVALID_KEYTYPE

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

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

ERR_CRYPTO_INVALID_MESSAGELEN

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

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

ERR_CRYPTO_INVALID_SCRYPT_PARAMS

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

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

ERR_CRYPTO_INVALID_STATE

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

ERR_CRYPTO_INVALID_TAG_LENGTH

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

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

ERR_CRYPTO_JOB_INIT_FAILED

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

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

ERR_CRYPTO_JWK_UNSUPPORTED_CURVE

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

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE

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

ERR_CRYPTO_OPERATION_FAILED

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

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

END_OF_DOCUMENT_MARKER

ERR_CRYPTO_PBKDF2_ERROR

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

ERR_CRYPTO_SCRYPT_INVALID_PARAMETER

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

ERR_CRYPTO_SCRYPT_NOT_SUPPORTED

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

ERR_CRYPTO_SIGN_KEY_REQUIRED

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

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH

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

ERR_CRYPTO_UNKNOWN_CIPHER

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

ERR_CRYPTO_UNKNOWN_DH_GROUP

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

ERR_CRYPTO_UNSUPPORTED_OPERATION

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

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

ERR_DEBUGGER_ERROR

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

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

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

c-ares не удалось установить сервер DNS.

ERR_DOMAIN_CALLBACK_NOT_AVAILABLE

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

ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE

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

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

ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION

v8.startupSnapshot.setDeserializeMainFunction() не удалось вызвать, потому что он был вызван ранее.

ERR_ENCODING_INVALID_ENCODED_DATA

Предоставленные данные для API TextDecoder() были некорректны в соответствии с указанной кодировкой.

ERR_ENCODING_NOT_SUPPORTED

Кодировка, предоставленная для API TextDecoder() , не являлась одной из поддерживаемых WHATWG.

ERR_EVAL_ESM_CANNOT_PRINT

--print нельзя использовать с входными данными ESM.

ERR_EVENT_RECURSION

Выбрасывается, когда происходит попытка рекурсивной передачи события на EventTarget.

ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE

Контекст выполнения JS не связан с окружением Node.js. Это может произойти, когда Node.js используется как встроенная библиотека, и некоторые обработчики для JS-движка не настроены должным образом.

ERR_FALSY_VALUE_REJECTION

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

ERR_FEATURE_UNAVAILABLE_ON_PLATFORM

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

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

ERR_FS_CP_DIR_TO_NON_DIR

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

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

ERR_FS_CP_EEXIST

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

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

ERR_FS_CP_EINVAL

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

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

ERR_HTTP_BODY_NOT_ALLOWED

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

ERR_HTTP_CONTENT_LENGTH_MISMATCH

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

ERR_FS_CP_FIFO_PIPE

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

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

ERR_FS_CP_NON_DIR_TO_DIR

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

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

ERR_FS_CP_SOCKET

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

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

ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY

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

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

ERR_FS_CP_UNKNOWN

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

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

ERR_FS_EISDIR

Путь — это каталог.

ERR_FS_FILE_TOO_LARGE

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

ERR_FS_INVALID_SYMLINK_TYPE

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

ERR_HTTP_HEADERS_SENT

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

ERR_HTTP_INVALID_HEADER_VALUE

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

ERR_HTTP_INVALID_STATUS_CODE

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

ERR_HTTP_REQUEST_TIMEOUT

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

ERR_HTTP_SOCKET_ASSIGNED

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

ERR_HTTP_SOCKET_ENCODING

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

ERR_HTTP_TRAILER_INVALID

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

ERR_HTTP2_ALTSVC_INVALID_ORIGIN

Кадры HTTP/2 ALTSVC требуют допустимого источника.

ERR_HTTP2_ALTSVC_LENGTH

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

ERR_HTTP2_CONNECT_AUTHORITY

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

ERR_HTTP2_CONNECT_PATH

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

ERR_HTTP2_CONNECT_SCHEME

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

ERR_HTTP2_ERROR

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

ERR_HTTP2_GOAWAY_SESSION

После того, как Http2Session получил кадр GOAWAY от подключённого узла, новые потоки HTTP/2 не могут быть открыты.

ERR_HTTP2_HEADER_SINGLE_VALUE

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

ERR_HTTP2_HEADERS_AFTER_RESPOND

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

ERR_HTTP2_HEADERS_SENT

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

ERR_HTTP2_INFO_STATUS_NOT_ALLOWED

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

ERR_HTTP2_INVALID_CONNECTION_HEADERS

Заголовки, специфичные для подключений HTTP/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

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

ERR_HTTP2_INVALID_PSEUDOHEADER

Можно использовать только валидные псевдозаголовки HTTP/2 (:status, :path, :authority, :scheme, и :method).

ERR_HTTP2_INVALID_SESSION

Было выполнено действие над объектом Http2Session, который уже был уничтожен.

ERR_HTTP2_INVALID_SETTING_VALUE

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

ERR_HTTP2_INVALID_STREAM

Была выполнена операция над потоком, который уже был уничтожен.

ERR_HTTP2_MAX_PENDING_SETTINGS_ACK

При отправке кадра HTTP/2 SETTINGS подключенному узлу, узел должен отправить подтверждение о получении и применении новых SETTINGS. По умолчанию, может быть отправлено максимальное количество неопознанных кадров SETTINGS в любой момент времени. Этот код ошибки используется, когда этот предел достигнут.

ERR_HTTP2_NESTED_PUSH

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

ERR_HTTP2_NO_MEM

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

ERR_HTTP2_NO_SOCKET_MANIPULATION

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

ERR_HTTP2_ORIGIN_LENGTH

Кадры HTTP/2 ORIGIN ограничены длиной в 16382 байта.

ERR_HTTP2_OUT_OF_STREAMS

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

ERR_HTTP2_PAYLOAD_FORBIDDEN

Для кода состояния HTTP ответа было указано сообщение-надгрузка, для которого это запрещено.

ERR_HTTP2_PING_CANCEL

HTTP/2 ping был отменен.

ERR_HTTP2_PING_LENGTH

Загрузки ping 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

Added in: v15.14.0

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

ERR_HTTP2_TRAILERS_ALREADY_SENT

Заголовки-прицепы уже отправлены для Http2Stream.

ERR_HTTP2_TRAILERS_NOT_READY

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

ERR_HTTP2_UNSUPPORTED_PROTOCOL

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

ERR_ILLEGAL_CONSTRUCTOR

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

ERR_IMPORT_ASSERTION_TYPE_FAILED

Added in: v17.1.0, v16.14.0

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

ERR_IMPORT_ASSERTION_TYPE_MISSING

Added in: v17.1.0, v16.14.0

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

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED

Added in: v17.1.0, v16.14.0

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

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

Added in: 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_FAMILY

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

ERR_INVALID_ARG_TYPE

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

ERR_INVALID_ARG_VALUE

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

ERR_INVALID_ASYNC_ID

Передан неверный asyncId или triggerAsyncId при использовании AsyncHooks. ID меньше -1 никогда не должно происходить.

ERR_INVALID_BUFFER_SIZE

Была выполнена перестановка на Buffer , но её размер не соответствовал операции.

ERR_INVALID_CHAR

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

ERR_INVALID_CURSOR_POS

Курсор данного потока не может быть перемещен на указанную строку без указанного столбца.

ERR_INVALID_FD

Дескриптор файла ('fd') был некорректным (например, имел отрицательное значение).

ERR_INVALID_FD_TYPE

Тип дескриптора файла ('fd') был некорректным.

ERR_INVALID_FILE_URL_HOST

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

ERR_INVALID_FILE_URL_PATH

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

ERR_INVALID_HANDLE_TYPE

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

ERR_INVALID_HTTP_TOKEN

Предоставлен некорректный HTTP-токен.

ERR_INVALID_IP_ADDRESS

IP-адрес некорректен.

ERR_INVALID_MIME_SYNTAX

Синтаксис MIME некорректен.

ERR_INVALID_MODULE

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

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

ERR_INVALID_MODULE_SPECIFIER

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

ERR_INVALID_OBJECT_DEFINE_PROPERTY

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

ERR_INVALID_PACKAGE_CONFIG

Некорректный файл package.json не смог пройти проверку синтаксиса.

ERR_INVALID_PACKAGE_TARGET

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

ERR_INVALID_PERFORMANCE_MARK

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

ERR_INVALID_PROTOCOL

Некорректный options.protocol был передан функции http.request().

ERR_INVALID_REPL_EVAL_CONFIG

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

ERR_INVALID_REPL_INPUT

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

ERR_INVALID_RETURN_PROPERTY

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

ERR_INVALID_RETURN_PROPERTY_VALUE

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

ERR_INVALID_RETURN_VALUE

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

ERR_INVALID_STATE

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

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

ERR_INVALID_SYNC_FORK_INPUT

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

ERR_INVALID_THIS

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

ERR_INVALID_URI

Передан некорректный URI.

ERR_INVALID_URL

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

ERR_INVALID_URL_SCHEME

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

ERR_IPC_CHANNEL_CLOSED

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

ERR_IPC_DISCONNECTED

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

ERR_IPC_ONE_PIPE

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

ERR_IPC_SYNC_FORK

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

ERR_LOADER_CHAIN_INCOMPLETE

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

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

ERR_MANIFEST_ASSERT_INTEGRITY

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

ERR_MANIFEST_DEPENDENCY_MISSING

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

ERR_MANIFEST_INTEGRITY_MISMATCH

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

ERR_MANIFEST_INVALID_RESOURCE_FIELD

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

ERR_MANIFEST_INVALID_SPECIFIER

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

ERR_MANIFEST_PARSE_POLICY

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

ERR_MANIFEST_TDZ

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

ERR_MANIFEST_UNKNOWN_ONERROR

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

ERR_MEMORY_ALLOCATION_FAILED

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

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE

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

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

ERR_METHOD_NOT_IMPLEMENTED

Метод необходим, но не реализован.

ERR_MISSING_ARGS

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

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

ERR_OUT_OF_RANGE

Заданное значение находится вне допустимого диапазона.

ERR_PACKAGE_IMPORT_NOT_DEFINED

Поле package.json "imports" не определяет заданное соответствие спецификатора внутреннего пакета.

ERR_PACKAGE_PATH_NOT_EXPORTED

Поле package.json "exports" не экспортирует запрашиваемый подпуть. Поскольку экспорты инкапсулированы, внутренние частные модули, которые не экспортируются, не могут быть импортированы через разрешение пакетов, если не используется абсолютный URL.

ERR_PARSE_ARGS_INVALID_OPTION_VALUE

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

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

ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL

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

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

ERR_PARSE_ARGS_UNKNOWN_OPTION

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

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

ERR_PERFORMANCE_INVALID_TIMESTAMP

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

ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS

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

ERR_PROTO_ACCESS

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

ERR_REQUIRE_ESM

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

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

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

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

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_TAP_LEXER_ERROR

Ошибка, представляющая некорректное состояние лексера.

ERR_TAP_PARSER_ERROR

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

ERR_TAP_VALIDATION_ERROR

Эта ошибка представляет собой ошибку валидации TAP.

ERR_TEST_FAILURE

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

ERR_TLS_ALPN_CALLBACK_INVALID_RESULT

Эта ошибка возникает, когда ALPNCallback возвращает значение, которое не входит в список протоколов ALPN, предлагаемых клиентом.

ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS

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

ERR_TLS_CERT_ALTNAME_FORMAT

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

ERR_TLS_CERT_ALTNAME_INVALID

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

ERR_TLS_DH_PARAM_SIZE

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

ERR_TLS_HANDSHAKE_TIMEOUT

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

ERR_TLS_INVALID_CONTEXT

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

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

ERR_TLS_INVALID_PROTOCOL_METHOD

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

ERR_TLS_INVALID_PROTOCOL_VERSION

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

ERR_TLS_INVALID_STATE

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

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

ERR_TLS_PROTOCOL_VERSION_CONFLICT

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

ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED

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

ERR_TLS_RENEGOTIATION_DISABLED

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

ERR_TLS_REQUIRED_SERVER_NAME

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

ERR_TLS_SESSION_ATTACK

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

ERR_TLS_SNI_FROM_SERVER

Была предпринята попытка выдачи Server Name Indication со стороны сокета TLS-сервера, что допустимо только со стороны клиента.

ERR_TRACE_EVENTS_CATEGORY_REQUIRED

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

ERR_TRACE_EVENTS_UNAVAILABLE

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

ERR_TRANSFORM_ALREADY_TRANSFORMING

Поток Transform завершился, в то время как он всё ещё обрабатывался.

ERR_TRANSFORM_WITH_LENGTH_0

Поток Transform завершился с данными, ещё находящимися в буфере записи.

ERR_TTY_INIT_FAILED

Инициализация TTY не удалась из-за системной ошибки.

ERR_UNAVAILABLE_DURING_EXIT

Функция была вызвана в обработчике события process.on('exit'), что не должно происходить в обработчике события process.on('exit').

ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET

process.setUncaughtExceptionCaptureCallback() был вызван дважды без предварительного сброса обратного вызова до null.

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

ERR_UNESCAPED_CHARACTERS

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

ERR_UNHANDLED_ERROR

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

ERR_UNKNOWN_BUILTIN_MODULE

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

ERR_UNKNOWN_CREDENTIAL

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

ERR_UNKNOWN_ENCODING

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

ERR_UNKNOWN_FILE_EXTENSION

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

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

ERR_UNKNOWN_MODULE_FORMAT

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

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

ERR_UNKNOWN_SIGNAL

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

ERR_UNSUPPORTED_DIR_IMPORT

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

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

ERR_UNSUPPORTED_ESM_URL_SCHEME

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

ERR_UNSUPPORTED_RESOLVE_REQUEST

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

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

ERR_USE_AFTER_CLOSE

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

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

ERR_VALID_PERFORMANCE_ENTRY_TYPE

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

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG

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

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING

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

ERR_VM_MODULE_ALREADY_LINKED

Модуль, который пытаются подключить, не подходит для подключения по одной из следующих причин:

  • Он уже подключен (linkingStatus равен 'linked')
  • Он сейчас подключается (linkingStatus равен 'linking')
  • Подключение модуля завершилось ошибкой (linkingStatus равен 'errored')

ERR_VM_MODULE_CACHED_DATA_REJECTED

Опция cachedData, переданная конструктору модуля, некорректна.

ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA

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

ERR_VM_MODULE_DIFFERENT_CONTEXT

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

ERR_VM_MODULE_LINK_FAILURE

Подключение модуля не удалось из-за ошибки.

ERR_VM_MODULE_NOT_MODULE

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

ERR_VM_MODULE_STATUS

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

ERR_WASI_ALREADY_STARTED

Инстанция WASI уже запущена.

ERR_WASI_NOT_STARTED

Инстанция WASI не запущена.

ERR_WEBASSEMBLY_RESPONSE

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

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

ERR_WORKER_INIT_FAILED

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

ERR_WORKER_INVALID_EXEC_ARGV

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

ERR_WORKER_NOT_RUNNING

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

ERR_WORKER_OUT_OF_MEMORY

Инстанция Worker завершила работу, достигнув предела памяти.

ERR_WORKER_PATH

Путь к главному скрипту работника не является абсолютным и не начинается с ./ или ../.

ERR_WORKER_UNSERIALIZABLE_ERROR

Все попытки сериализовать неперехваченное исключение из потока работника завершились ошибкой.

ERR_WORKER_UNSUPPORTED_OPERATION

Запрошенная функциональность не поддерживается в потоках работника.

ERR_ZLIB_INITIALIZATION_FAILED

Создание объекта zlib не удалось из-за неправильной конфигурации.

HPE_HEADER_OVERFLOW

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

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

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

HPE_CHUNK_EXTENSIONS_OVERFLOW

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

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

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

ERR_CANNOT_TRANSFER_OBJECT

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

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

ERR_CRYPTO_HASH_DIGEST_NO_UTF16

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

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

ERR_HTTP2_FRAME_ERROR

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

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

ERR_HTTP2_HEADERS_OBJECT

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

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

ERR_HTTP2_HEADER_REQUIRED

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

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

ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND

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

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

ERR_HTTP2_STREAM_CLOSED

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

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

ERR_HTTP_INVALID_CHAR

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

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

ERR_INDEX_OUT_OF_RANGE

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

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

ERR_INVALID_OPT_VALUE

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

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

ERR_INVALID_OPT_VALUE_ENCODING

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

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

ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST

Удален в: v15.0.0

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

ERR_NAPI_CONS_PROTOTYPE_OBJECT

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

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

ERR_NETWORK_IMPORT_BAD_RESPONSE

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

При импорте модуля по сети был получен недопустимый ответ.

ERR_NETWORK_IMPORT_DISALLOWED

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

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

ERR_NO_LONGER_SUPPORTED

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

ERR_OPERATION_FAILED

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

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

ERR_OUTOFMEMORY

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

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

ERR_PARSE_HISTORY_DATA

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

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

ERR_SOCKET_CANNOT_SEND

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

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

ERR_STDERR_CLOSE

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

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

v10.12.0

Удален в: v10.12.0

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

ERR_STDOUT_CLOSE

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

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

v10.12.0

Удален в: v10.12.0

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

ERR_STREAM_READ_NOT_IMPLEMENTED

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

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

ERR_TLS_RENEGOTIATION_FAILED

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

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

ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER

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

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

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

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 не удалась.

END_OF_DOCUMENT_MARKER

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