Ошибки
Приложения, работающие в 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])
Создает новый объект 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
Свойство Error.stackTraceLimit задает количество кадров стека, собираемых при создании трассировки (с помощью new Error().stack или Error.captureStackTrace(obj)).
Значение по умолчанию — 10, но ему можно присвоить любое допустимое число JavaScript. Изменения повлияют на все трассировки стека, созданные после изменения значения.
Если задать значение, не являющееся числом, или отрицательное число, трассировки стека не будут содержать кадров.
error.cause
Если свойство 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
Если свойство error.address указано, оно содержит строку с адресом, по которому не удалось установить сетевое соединение.
error.code
Свойство error.code — это строка, представляющая код ошибки.
error.dest
Если свойство error.dest указано, оно содержит путь назначения при сообщении об ошибке файловой системы.
error.errno
Свойство error.errno — это отрицательное число, соответствующее коду ошибки, определенному в libuv Error handling.
В Windows номер ошибки, предоставленный системой, нормализуется libuv.
Чтобы получить строковое представление кода ошибки, используйте util.getSystemErrorName(error.errno).
error.info
Если свойство error.info указано, оно содержит объект со сведениями об ошибке.
error.message
error.message — это предоставленное системой понятное человеку описание ошибки.
error.path
Если свойство error.path указано, оно содержит строку с соответствующим недопустимым путем.
error.port
Если свойство error.port указано, оно содержит недоступный порт сетевого соединения.
error.syscall
Свойство error.syscall — это строка с описанием неудачного системного вызова.
Распространенные системные ошибки
Ниже приведен список системных ошибок, часто встречающихся при написании программ Node.js. Полный список см. на странице руководства errno(3).
-
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
Используется, когда операция была прервана (обычно с помощью 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
Предпринята попытка использовать экземпляр MessagePort в закрытом состоянии, обычно после вызова .close().
ERR_CONSOLE_WRITABLE_STREAM
Экземпляр Console создан без потока stdout либо у Console поток stdout или stderr недоступен для записи.
ERR_CONSTRUCT_CALL_INVALID
Был вызван конструктор класса, который нельзя вызывать.
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
Не удалось инициализировать криптографическую подсистему.
ERR_CRYPTO_INVALID_AUTH_TAG
Указан недопустимый тег аутентификации.
ERR_CRYPTO_INVALID_COUNTER
Для шифра в режиме счётчика указан недопустимый счётчик.
ERR_CRYPTO_INVALID_CURVE
Указана недопустимая эллиптическая кривая.
ERR_CRYPTO_INVALID_DIGEST
Указан недопустимый алгоритм криптографического хеширования.
ERR_CRYPTO_INVALID_IV
Указан недопустимый вектор инициализации.
ERR_CRYPTO_INVALID_JWK
Указан недопустимый веб-ключ JSON.
ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE
Тип заданного объекта криптографического ключа недопустим для выполняемой операции.
ERR_CRYPTO_INVALID_KEYLEN
Указана недопустимая длина ключа.
ERR_CRYPTO_INVALID_KEYPAIR
Указана недопустимая пара ключей.
ERR_CRYPTO_INVALID_KEYTYPE
Указан недопустимый тип ключа.
ERR_CRYPTO_INVALID_MESSAGELEN
Указана недопустимая длина сообщения.
ERR_CRYPTO_INVALID_SCRYPT_PARAMS
Указаны недопустимые параметры алгоритма scrypt.
ERR_CRYPTO_INVALID_STATE
К объекту в недопустимом состоянии был применён криптографический метод. Например, вызов cipher.getAuthTag() до вызова cipher.final().
ERR_CRYPTO_INVALID_TAG_LENGTH
Указана недопустимая длина тега аутентификации.
ERR_CRYPTO_JOB_INIT_FAILED
Не удалось инициализировать асинхронную криптографическую операцию.
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
Эллиптическая кривая ключа не зарегистрирована для использования в реестре эллиптических кривых веб-ключей JSON.
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
Асимметричный тип ключа не зарегистрирован для использования в реестре типов веб-ключей JSON.
ERR_CRYPTO_OPERATION_FAILED
Криптографическая операция завершилась с ошибкой по неуказанной причине.
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
Предпринята попытка вызвать неподдерживаемую криптографическую операцию.
ERR_DEBUGGER_ERROR
Произошла ошибка в отладчике.
ERR_DEBUGGER_STARTUP_ERROR
Истекло время ожидания отладчиком освобождения необходимого хоста/порта.
ERR_DLOPEN_DISABLED
Загрузка нативных дополнений отключена с помощью --no-addons.
ERR_DLOPEN_FAILED
Вызов process.dlopen() завершился с ошибкой.
ERR_DIR_CLOSED
fs.Dir уже был закрыт.
ERR_DIR_CONCURRENT_OPERATION
Предпринята попытка синхронного чтения или закрытия 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
Используется при обращении к функции, недоступной на текущей платформе, на которой запущен Node.js.
ERR_FS_CP_DIR_TO_NON_DIR
С помощью fs.cp() предпринята попытка скопировать каталог в объект, не являющийся каталогом (файл, символическую ссылку и т. д.).
ERR_FS_CP_EEXIST
С помощью fs.cp() предпринята попытка перезаписать уже существующий файл, при этом параметры force и errorOnExist установлены в true.
ERR_FS_CP_EINVAL
При использовании fs.cp() параметр src или dest указывал на недопустимый путь.
ERR_HTTP_BODY_NOT_ALLOWED
Возникает ошибка при записи в HTTP-ответ, в котором содержимое не допускается.
ERR_HTTP_CONTENT_LENGTH_MISMATCH
Размер тела ответа не совпадает со значением заголовка Content-Length.
ERR_FS_CP_FIFO_PIPE
С помощью fs.cp() предпринята попытка скопировать именованный канал.
ERR_FS_CP_NON_DIR_TO_DIR
С помощью fs.cp() предпринята попытка скопировать объект, не являющийся каталогом (файл, символическую ссылку и т. д.), в каталог.
ERR_FS_CP_SOCKET
С помощью fs.cp() предпринята попытка скопировать данные в сокет.
ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY
При использовании fs.cp() символическая ссылка в dest указывала на подкаталог src.
ERR_FS_CP_UNKNOWN
С помощью 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
Превышено ограничение на количество недопустимых кадров протокола 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
Для импорта был указан атрибут type, но указанный модуль имеет другой тип.
ERR_IMPORT_ASSERTION_TYPE_MISSING
Отсутствует атрибут импорта, из-за чего указанный модуль нельзя импортировать.
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
Атрибут импорта не поддерживается этой версией Node.js.
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
Атрибут импорта не поддерживается этой версией Node.js.
ERR_INCOMPATIBLE_OPTION_PAIR
Эта пара параметров несовместима, поэтому их нельзя использовать одновременно.
ERR_INPUT_TYPE_NOT_ALLOWED
Флаг --input-type использовался для попытки выполнения файла. Этот флаг можно использовать только с вводом через --eval, --print или STDIN.
ERR_INSPECTOR_ALREADY_ACTIVATED
При использовании модуля node:inspector была предпринята попытка активировать инспектор, хотя он уже начал прослушивать порт. Вызовите inspector.close(), прежде чем активировать его по другому адресу.
ERR_INSPECTOR_ALREADY_CONNECTED
При использовании модуля node:inspector была предпринята попытка подключения, хотя инспектор уже был подключен.
ERR_INSPECTOR_CLOSED
При использовании модуля node:inspector была предпринята попытка обратиться к инспектору после закрытия сеанса.
ERR_INSPECTOR_COMMAND
При выполнении команды через модуль node:inspector произошла ошибка.
ERR_INSPECTOR_NOT_ACTIVE
inspector не активен при вызове inspector.waitForDebugger().
ERR_INSPECTOR_NOT_AVAILABLE
Модуль node:inspector недоступен для использования.
ERR_INSPECTOR_NOT_CONNECTED
При использовании модуля node:inspector была предпринята попытка обратиться к инспектору до установления подключения.
ERR_INSPECTOR_NOT_WORKER
В основном потоке был вызван API, который можно использовать только из рабочего потока.
ERR_INTERNAL_ASSERTION
В Node.js произошла ошибка или внутренние механизмы 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
Была предпринята попытка загрузить несуществующий или иным образом недопустимый модуль.
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
Указывает, что операцию невозможно завершить из-за недопустимого состояния. Например, объект мог быть уже уничтожен или выполнять другую операцию.
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
Перехватчик загрузчика 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
Не удалось десериализовать сообщение, отправленное в 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
Объект, который необходимо явно указать в аргументе 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
Эту операцию нельзя выполнить вне приложения с одним исполняемым файлом.
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
При значении true параметра strict функция util.parseArgs() вызывает эту ошибку, если для параметра типа <string> передано значение типа <boolean> или для параметра типа <boolean> передано значение типа <string>.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
Функция util.parseArgs() вызывает эту ошибку, если передан позиционный аргумент, а параметр allowPositionals имеет значение false.
ERR_PARSE_ARGS_UNKNOWN_OPTION
При значении 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
При попытке выполнить require() модуля ES Module в непосредственном цикле участвует переход CommonJS в ESM или ESM в CommonJS. Это запрещено, поскольку модули ES нельзя вычислять, пока они уже вычисляются.
Чтобы избежать цикла, вызов require(), участвующий в цикле, не должен находиться на верхнем уровне ни модуля ES (через createRequire()), ни модуля CommonJS. Его следует выполнять отложенно во внутренней функции.
ERR_REQUIRE_ASYNC_MODULE
При попытке выполнить require() модуля ES Module выясняется, что модуль асинхронный. То есть он содержит await на верхнем уровне.
Чтобы найти await на верхнем уровне, используйте --experimental-print-required-tla (это приведёт к выполнению модулей до поиска await на верхнем уровне).
ERR_REQUIRE_ESM
Была предпринята попытка выполнить 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
В 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
Контекст должен быть объектом SecureContext.
ERR_TLS_INVALID_PROTOCOL_METHOD
Указанный метод secureProtocol недопустим. Он либо неизвестен, либо отключен из-за небезопасности.
ERR_TLS_INVALID_PROTOCOL_VERSION
Допустимые версии протокола TLS: 'TLSv1', 'TLSv1.1' или 'TLSv1.2'.
ERR_TLS_INVALID_STATE
Сокет 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
Предпринята попытка загрузить модуль с неизвестным или неподдерживаемым расширением файла.
ERR_UNKNOWN_MODULE_FORMAT
Предпринята попытка загрузить модуль с неизвестным или неподдерживаемым форматом.
ERR_UNKNOWN_SIGNAL
В API, ожидающий допустимый сигнал (например, subprocess.kill()), был передан недопустимый или неизвестный сигнал процесса.
ERR_UNSUPPORTED_DIR_IMPORT
Импорт import URL каталога не поддерживается. Вместо этого ссылайтесь на пакет по его имени и определите пользовательский под путь в поле "exports" файла package.json.
import './'; // unsupported import './index.js'; // supported import 'package-name'; // supported copy
ERR_UNSUPPORTED_ESM_URL_SCHEME
import с URL-схемами, отличными от file и data, не поддерживается.
ERR_UNSUPPORTED_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
Предпринята попытка использовать объект, который уже был закрыт.
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
Объект 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
В целевом потоке произошла ошибка при обработке сообщения, отправленного через postMessageToThread().
ERR_WORKER_MESSAGING_FAILED
Поток, указанный в postMessageToThread(), недопустим или в нем нет обработчика workerMessage.
ERR_WORKER_MESSAGING_SAME_THREAD
Идентификатор потока, указанный в postMessageToThread(), совпадает с идентификатором текущего потока.
ERR_WORKER_MESSAGING_TIMEOUT
Истекло время ожидания отправки сообщения через postMessageToThread().
ERR_WORKER_UNSERIALIZABLE_ERROR
Не удалось выполнить ни одну из попыток сериализации необработанного исключения из рабочего потока.
ERR_WORKER_UNSUPPORTED_OPERATION
Запрошенная функциональность не поддерживается в рабочих потоках.
ERR_ZLIB_INITIALIZATION_FAILED
Не удалось создать объект zlib из-за неправильной конфигурации.
HPE_HEADER_OVERFLOW
Получено слишком много данных заголовков HTTP. Для защиты от вредоносных или неправильно настроенных клиентов, если получено более maxHeaderSize данных заголовков HTTP, разбор HTTP будет прерван без создания объекта запроса или ответа, а будет отправлено событие Error с этим кодом.
HPE_CHUNK_EXTENSIONS_OVERFLOW
Получено слишком много данных для расширений фрагментов. Для защиты от вредоносных или неправильно настроенных клиентов, если получено более 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
Загрузчику модулей CommonJS не удалось найти файл модуля при выполнении операции require() или загрузке точки входа программы.
Устаревшие коды ошибок Node.js
ERR_CANNOT_TRANSFER_OBJECT
Значение, переданное в postMessage(), содержало объект, который нельзя передать.
ERR_CRYPTO_HASH_DIGEST_NO_UTF16
Вместе с hash.digest() использовалась кодировка UTF-16. Хотя метод hash.digest() позволяет передать аргумент encoding, чтобы метод возвращал строку, а не Buffer, кодировка UTF-16 (например, ucs или utf16le) не поддерживается.
ERR_HTTP2_FRAME_ERROR
Использовался при сбое отправки отдельного кадра в сеансе HTTP/2.
ERR_HTTP2_HEADERS_OBJECT
Использовался, когда ожидался объект заголовков HTTP/2.
ERR_HTTP2_HEADER_REQUIRED
Использовался, когда в сообщении HTTP/2 отсутствовал обязательный заголовок.
ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND
Информационные заголовки HTTP/2 следует отправлять только до вызова метода Http2Stream.prototype.respond().
ERR_HTTP2_STREAM_CLOSED
Использовался, когда действие выполнялось над уже закрытым потоком HTTP/2.
ERR_HTTP_INVALID_CHAR
Использовался, когда в сообщении состояния ответа HTTP (фразе причины) обнаруживался недопустимый символ.
ERR_INDEX_OUT_OF_RANGE
Заданный индекс находился вне допустимого диапазона (например, смещение было отрицательным).
ERR_INVALID_OPT_VALUE
В объект параметров было передано недопустимое или неожиданное значение.
ERR_INVALID_OPT_VALUE_ENCODING
Была передана недопустимая или неизвестная кодировка файла.
ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
В Node.js v15.0.0 этот код ошибки был заменен на ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST, поскольку он больше не является точным: теперь существуют и другие типы передаваемых объектов.
ERR_NAPI_CONS_PROTOTYPE_OBJECT
Использовался функцией Node-API, когда Constructor.prototype не является объектом.
ERR_NETWORK_IMPORT_BAD_RESPONSE
При импорте модуля по сети был получен ответ, но он оказался недопустимым.
ERR_NETWORK_IMPORT_DISALLOWED
Сетевой модуль попытался загрузить другой модуль, загрузка которого ему не разрешена. Вероятно, это ограничение связано с требованиями безопасности.
ERR_NO_LONGER_SUPPORTED
API Node.js был вызван неподдерживаемым способом, например Buffer.write(string, encoding, offset[, length]).
ERR_OPERATION_FAILED
Операция завершилась ошибкой. Обычно это используется для обозначения общего сбоя асинхронной операции.
ERR_OUTOFMEMORY
Использовался для общего обозначения ситуации, когда операция привела к нехватке памяти.
ERR_PARSE_HISTORY_DATA
Модулю node:repl не удалось разобрать данные из файла истории REPL.
ERR_SOCKET_CANNOT_SEND
Не удалось отправить данные через сокет.
ERR_STDERR_CLOSE
Предпринята попытка закрыть поток process.stderr. По замыслу Node.js не позволяет пользовательскому коду закрывать потоки stdout или stderr.
ERR_STDOUT_CLOSE
Предпринята попытка закрыть поток process.stdout. По замыслу Node.js не позволяет пользовательскому коду закрывать потоки stdout или stderr.
ERR_STREAM_READ_NOT_IMPLEMENTED
Использовался при попытке использовать поток для чтения, в котором не реализован метод readable._read().
ERR_TAP_LEXER_ERROR
Ошибка, обозначающая сбойное состояние лексического анализатора.
ERR_TAP_PARSER_ERROR
Ошибка, обозначающая сбойное состояние синтаксического анализатора. Дополнительные сведения о токене, вызвавшем ошибку, доступны через свойство cause.
ERR_TAP_VALIDATION_ERROR
Эта ошибка указывает на неудачную проверку TAP.
ERR_TLS_RENEGOTIATION_FAILED
Использовался, когда запрос на повторное согласование TLS завершался общей ошибкой.
ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER
Во время сериализации был обнаружен объект SharedArrayBuffer, память которого не управляется ни движком JavaScript, ни Node.js. Такой объект SharedArrayBuffer нельзя сериализовать.
Это возможно только в том случае, если нативные дополнения создают объекты SharedArrayBuffer в режиме «externalized» или переводят существующие объекты SharedArrayBuffer в этот режим.
ERR_UNKNOWN_STDIN_TYPE
Предпринята попытка запустить процесс Node.js с неизвестным типом файла stdin. Обычно эта ошибка указывает на дефект в самом Node.js, хотя ее также может вызвать пользовательский код.
ERR_UNKNOWN_STREAM_TYPE
Предпринята попытка запустить процесс Node.js с неизвестным типом файла stdout или stderr. Обычно эта ошибка указывает на дефект в самом Node.js, хотя ее также может вызвать пользовательский код.
ERR_V8BREAKITERATOR
Был использован API V8 BreakIterator, но полный набор данных ICU не установлен.
ERR_VALUE_OUT_OF_RANGE
Использовался, когда заданное значение находилось вне допустимого диапазона.
ERR_VM_MODULE_NOT_LINKED
Перед созданием экземпляра модуль необходимо успешно связать.
ERR_VM_MODULE_LINKING_ERRORED
Функция связывания вернула модуль, связывание которого завершилось ошибкой.
ERR_WORKER_UNSUPPORTED_EXTENSION
Путь к основному скрипту рабочего потока имеет неизвестное расширение файла.
ERR_ZLIB_BINDING_CLOSED
Использовался при попытке применить объект zlib после его закрытия.
ERR_CPU_USAGE
Не удалось обработать нативный вызов из 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