Ошибки
Приложения, работающие в Node.js, обычно сталкиваются со следующими категориями ошибок:
- Стандартные ошибки JavaScript, такие как
<EvalError>,<SyntaxError>,<RangeError>,<ReferenceError>,<TypeError>и<URIError>. - Стандартные
DOMException. - Системные ошибки, вызванные ограничениями базовой операционной системы, например попыткой открыть несуществующий файл или отправить данные через закрытый сокет.
-
AssertionError— это особый класс ошибок, которые могут возникнуть, когда Node.js обнаруживает исключительное нарушение логики, которое ни при каких обстоятельствах не должно происходить. Обычно они вызываются модулемnode:assert. - Ошибки, заданные пользователем и вызванные кодом приложения.
Все ошибки JavaScript и системные ошибки, возникающие в Node.js, наследуются от стандартного класса JavaScript <Error> или являются его экземплярами и гарантированно предоставляют как минимум свойства, доступные в этом классе.
Свойство error.message ошибок, возникающих в Node.js, может изменяться в любой версии. Вместо этого для идентификации ошибки используйте error.code. Для DOMException используйте domException.name, чтобы определить её тип.
Распространение и перехват ошибок
Node.js поддерживает несколько механизмов распространения и обработки ошибок, возникающих во время работы приложения. Способ сообщения об этих ошибках и их обработки полностью зависит от типа Error и стиля вызываемого API.
Все ошибки JavaScript обрабатываются как исключения, которые немедленно создают и выбрасывают ошибку с использованием стандартного механизма 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.
}
jscopy
Любое использование механизма JavaScript throw вызывает исключение, которое необходимо обработать, иначе процесс Node.js немедленно завершится.
За некоторыми исключениями, синхронные API (любой блокирующий метод, который не возвращает <Promise> и не принимает функцию callback, например fs.readFileSync) сообщают об ошибках с помощью throw.
Об ошибках, возникающих в асинхронных API, можно сообщать несколькими способами:
-
Некоторые асинхронные методы возвращают
<Promise>; всегда учитывайте возможность отклонения промиса. О том, как процесс реагирует на необработанное отклонение промиса, см. флаг--unhandled-rejections.const fs = require('node:fs/promises'); (async () => { let data; try { data = await fs.readFile('a file that does not exist'); } catch (err) { console.error('There was an error reading the file!', err); return; } // Otherwise handle the data })(); jscopy -
Большинство асинхронных методов, принимающих функцию
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 }); jscopy -
Если асинхронный метод вызывается для объекта, являющегося
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); jscopy -
Некоторые обычно асинхронные методы 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'));
});
jscopy
Ошибки, созданные таким образом, невозможно перехватить с помощью 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. Трассировка стека охватывает только (a) начало синхронного выполнения кода или (b) количество кадров, указанное свойством Error.stackTraceLimit, в зависимости от того, что меньше.
Error.captureStackTrace(targetObject[, constructorOpt])
-
targetObject<Object> -
constructorOpt<Function>
Создаёт свойство .stack у targetObject, которое при обращении возвращает строку, указывающую место в коде, в котором был вызван Error.captureStackTrace().
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
jscopy
Первая строка трассировки будет начинаться с ${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();
jscopy
Error.stackTraceLimit
- Тип:
<number>
Свойство Error.stackTraceLimit задаёт количество кадров стека, собираемых при создании трассировки стека (с помощью new Error().stack или Error.captureStackTrace(obj)).
Значение по умолчанию — 10, но ему можно присвоить любое допустимое число JavaScript. Изменения повлияют на трассировки стека, собранные после изменения значения.
Если задано значение, не являющееся числом, или отрицательное число, кадры в трассировку стека не попадут.
error.cause
- Тип:
<any>
Если свойство error.cause присутствует, оно указывает на исходную причину Error. Оно используется при перехвате ошибки и создании новой ошибки с другим сообщением или кодом, чтобы при этом сохранить доступ к исходной ошибке.
Свойство error.cause обычно задаётся вызовом new Error(message, { cause }). Если параметр cause не указан, конструктор это свойство не задаёт.
Это свойство позволяет объединять ошибки в цепочку. При сериализации объектов Error функция util.inspect() рекурсивно сериализует error.cause, если оно задано.
const cause = new Error('The remote HTTP server responded with a 500 status');
const symptom = new Error('The message failed to send', { cause });
console.log(symptom);
// Prints:
// Error: The message failed to send
// at REPL2:1:17
// at Script.runInThisContext (node:vm:130:12)
// ... 7 lines matching cause stack trace ...
// at [_line] [as _line] (node:internal/readline/interface:886:18) {
// [cause]: Error: The remote HTTP server responded with a 500 status
// at REPL1:1:15
// at Script.runInThisContext (node:vm:130:12)
// at REPLServer.defaultEval (node:repl:574:29)
// at bound (node:domain:426:15)
// at REPLServer.runBound [as eval] (node:domain:437:12)
// at REPLServer.onLine (node:repl:902:10)
// at REPLServer.emit (node:events:549:35)
// at REPLServer.emit (node:domain:482:12)
// at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
// at [_line] [as _line] (node:internal/readline/interface:886:18)
jscopy
error.code
- Тип:
<string>
Свойство error.code — это строковая метка, определяющая тип ошибки. error.code — наиболее надёжный способ идентификации ошибки. Оно меняется только между основными версиями Node.js. В отличие от него, строки error.message могут меняться в любых версиях Node.js. Подробнее о конкретных кодах см. в разделе Коды ошибок Node.js.
error.message
- Тип:
<string>
Свойство error.message содержит строковое описание ошибки, заданное вызовом new Error(message). Значение message, переданное конструктору, также будет указано в первой строке трассировки стека объекта Error, однако изменение этого свойства после создания объекта Error может не изменить первую строку трассировки стека (например, если значение error.stack было прочитано до изменения этого свойства).
const err = new Error('The message');
console.error(err.message);
// Prints: The message
jscopy
error.stack
- Тип:
<string>
Свойство error.stack содержит строку, описывающую точку в коде, в которой был создан экземпляр Error.
Error: Things keep happening! at /home/gbusey/file.js:525:2 at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21) at Actor.<anonymous> (/home/gbusey/actors.js:400:8) at increaseSynergy (/home/gbusey/actors.js:701:6) consolecopy
Первая строка имеет формат <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
jscopy
Сведения о местоположении могут иметь один из следующих видов:
-
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.stackTraceLimit и количества доступных кадров в текущем цикле обработки событий.
error.stack — это геттер/сеттер скрытого внутреннего свойства, присутствующего только у встроенных объектов Error (для которых Error.isError возвращает true). Если error не является встроенным объектом ошибки, геттер error.stack всегда возвращает undefined, а сеттер ничего не делает. Это может произойти, если аксессор вызван вручную со значением this, которое не является встроенным объектом ошибки, например с объектом <Proxy>.
Класс: AssertionError
- Наследуется от:
<errors.Error>
Указывает на невыполнение утверждения. Подробнее см. в разделе Class: assert.AssertionError.
Класс: RangeError
- Наследуется от:
<errors.Error>
Указывает, что переданный аргумент не входит в набор допустимых значений или выходит за допустимый диапазон значений функции; это может быть числовой диапазон или набор параметров заданной функции.
require('node:net').connect(-1);
// Throws "RangeError: "port" option should be >= 0 and < 65536: -1"
jscopy
Node.js создаёт и выбрасывает экземпляры RangeError немедленно в рамках проверки аргументов.
Класс: ReferenceError
- Наследуется от:
<errors.Error>
Указывает на попытку обращения к неопределённой переменной. Такие ошибки обычно свидетельствуют об опечатках в коде или о неисправности программы.
Клиентский код может создавать и распространять эти ошибки, однако на практике это делает только V8.
doesNotExist; // Throws ReferenceError, doesNotExist is not a variable in this program. jscopy
Если приложение не создаёт и не выполняет код динамически, экземпляры ReferenceError указывают на ошибку в коде или его зависимостях.
Класс: SyntaxError
- Наследуется от:
<errors.Error>
Указывает на то, что программа не является допустимым кодом JavaScript. Такие ошибки могут возникать и распространяться только в результате вычисления кода. Вычисление кода может происходить в результате вызова eval, Function, require или vm. Такие ошибки почти всегда указывают на неисправность программы.
try {
require('node:vm').runInThisContext('binary ! isNotOk');
} catch (err) {
// 'err' will be a SyntaxError.
}
jscopy
Экземпляры SyntaxError невозможно обработать в контексте, в котором они возникли: их можно перехватить только в других контекстах.
Класс: SystemError
- Наследуется от:
<errors.Error>
Node.js создаёт системные ошибки при возникновении исключений в среде выполнения. Обычно это происходит, когда приложение нарушает ограничения операционной системы. Например, системная ошибка возникнет, если приложение попытается прочитать несуществующий файл.
-
address<string>Если задано, адрес, по которому не удалось установить сетевое соединение -
code<string>Строковый код ошибки -
dest<string>Если задано, путь назначения файла при сообщении об ошибке файловой системы -
errno<number>Номер ошибки, предоставленный системой -
info<Object>Если задано, дополнительные сведения об условии возникновения ошибки -
message<string>Удобное для чтения описание ошибки, предоставленное системой -
path<string>Если задано, путь к файлу при сообщении об ошибке файловой системы -
port<number>Если задано, недоступный порт сетевого соединения -
syscall<string>Имя системного вызова, вызвавшего ошибку
error.address
- Тип:
<string>
Если задано, error.address — это строка с адресом, по которому не удалось установить сетевое соединение.
error.code
- Тип:
<string>
Свойство error.code — это строка, содержащая код ошибки.
error.dest
- Тип:
<string>
Если задано, error.dest — это путь назначения файла при сообщении об ошибке файловой системы.
error.errno
- Тип:
<number>
Свойство error.errno — это отрицательное число, соответствующее коду ошибки, определённому в libuv Error handling.
В Windows номер ошибки, предоставляемый системой, нормализуется libuv.
Чтобы получить строковое представление кода ошибки, используйте util.getSystemErrorName(error.errno).
error.info
- Тип:
<Object>
Если задано, error.info — это объект с подробными сведениями об условии возникновения ошибки.
error.message
- Тип:
<string>
error.message — это предоставленное системой описание ошибки, удобное для чтения.
error.path
- Тип:
<string>
Если задано, error.path — это строка, содержащая соответствующий недопустимый путь.
error.port
- Тип:
<number>
Если задано, error.port — это недоступный порт сетевого соединения.
error.syscall
- Тип:
<string>
Свойство error.syscall — это строка с описанием системного вызова, завершившегося ошибкой.
Распространённые системные ошибки
Ниже приведён список системных ошибок, часто возникающих при написании программ Node.js. Полный список см. на странице руководства errno(3).
-
EACCES(Доступ запрещён): предпринята попытка доступа к файлу способом, запрещённым установленными для него правами доступа. -
EADDRINUSE(Адрес уже используется): не удалось привязать сервер (net,httpилиhttps) к локальному адресу, поскольку этот адрес уже занят другим сервером в локальной системе. -
ECONNREFUSED(В соединении отказано): установить соединение не удалось, поскольку целевой компьютер активно отказал в подключении. Обычно это происходит при попытке подключиться к неактивной службе на удалённом узле. -
ECONNRESET(Соединение сброшено другой стороной): другая сторона принудительно закрыла соединение. Обычно это происходит из-за потери соединения на удалённом сокете вследствие тайм-аута или перезагрузки. Часто встречается при работе с модулямиhttpиnet. -
EEXIST(Файл существует): целью операции, требовавшей отсутствия файла, стал уже существующий файл. -
EISDIR(Является каталогом): операция ожидала файл, но указанный путь оказался каталогом. -
EMFILE(В системе открыто слишком много файлов): достигнуто максимально допустимое число файловых дескрипторов в системе. Запросы на дополнительные дескрипторы не будут выполнены, пока не будет закрыт хотя бы один из них. Эта ошибка возникает при одновременном открытии большого количества файлов, особенно в системах (в частности, macOS), где для процессов установлено низкое ограничение на число файловых дескрипторов. Чтобы увеличить низкое ограничение, выполнитеulimit -n 2048в той же оболочке, из которой будет запущен процесс Node.js. -
ENOENT(Нет такого файла или каталога): обычно возникает при выполнении операцийfsи указывает, что компонент указанного пути не существует. По заданному пути не удалось найти объект (файл или каталог). -
ENOTDIR(Не является каталогом): компонент указанного пути существует, но не является каталогом, как ожидалось. Часто возникает при вызовеfs.readdir. -
ENOTEMPTY(Каталог не пуст): целью операции, требующей пустого каталога, стал каталог с записями; обычно это происходит при вызовеfs.unlink. -
ENOTFOUND(Ошибка поиска DNS): указывает на сбой DNS дляEAI_NODATAилиEAI_NONAME. Это не стандартная ошибка POSIX. -
EPERM(Операция не разрешена): предпринята попытка выполнить операцию, требующую повышенных привилегий. -
EPIPE(Обрыв канала): выполнена запись в канал, сокет или FIFO, из которого никто не читает данные. Часто возникает на уровняхnetиhttpи указывает на то, что удалённая сторона потока, в который выполняется запись, закрыла соединение. -
ETIMEDOUT(Истекло время ожидания операции): запрос на подключение или отправку завершился ошибкой, поскольку подключённая сторона не ответила должным образом за отведённое время. Обычно возникает вhttpилиnet. Часто это указывает на то, что вызовsocket.end()не был выполнен должным образом.
Класс: TypeError
- Наследуется от
<errors.Error>
Указывает, что переданный аргумент имеет недопустимый тип. Например, передача функции параметру, который ожидает строку, приведёт к ошибке TypeError.
require('node:url').parse(() => { });
// Throws TypeError, since it expected a string.
jscopy
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, обычно не создают ошибку с этим кодом.
Этот код не соответствует принятому в Node.js соглашению об именовании ERR_*, чтобы обеспечить совместимость с 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_LOADER_REQUEST_NEVER_SETTLED
Операция, связанная с загрузкой модуля, настраивается асинхронным хуком загрузчика, который не завершил промис до выхода потока загрузчика.
ERR_ASYNC_TYPE
Недопустимый тип асинхронного ресурса. Пользователи также могут определять собственные типы, используя общедоступный API для встраивания.
ERR_BROTLI_COMPRESSION_FAILED
Не удалось сжать данные, переданные в поток Brotli.
ERR_BROTLI_INVALID_PARAM
При создании потока Brotli был передан недопустимый ключ параметра.
ERR_BUFFER_CONTEXT_NOT_AVAILABLE
Предпринята попытка создать экземпляр Node.js Buffer из кода дополнения или встраиваемого модуля, находясь в контексте движка JavaScript, не связанном с экземпляром 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_CPU_PROFILE_ALREADY_STARTED
Профиль ЦП с указанным именем уже собирается.
ERR_CPU_PROFILE_NOT_STARTED
Профиль ЦП с указанным именем не собирается.
ERR_CPU_PROFILE_TOO_MANY
Собирается слишком много профилей ЦП.
ERR_CRYPTO_ARGON2_NOT_SUPPORTED
Используемая версия OpenSSL не поддерживает Argon2.
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_KEYLEN
Указана недопустимая длина ключа.
ERR_CRYPTO_INVALID_KEYPAIR
Указана недопустимая пара ключей.
ERR_CRYPTO_INVALID_KEYTYPE
Указан недопустимый тип ключа.
ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE
Тип указанного объекта криптографического ключа недопустим для выполняемой операции.
ERR_CRYPTO_INVALID_MESSAGELEN
Указана недопустимая длина сообщения.
ERR_CRYPTO_INVALID_SCRYPT_PARAMS
Один или несколько параметров crypto.scrypt() или crypto.scryptSync() выходят за допустимые пределы.
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_KEM_NOT_SUPPORTED
Предпринята попытка использовать операции KEM, хотя Node.js собран с OpenSSL без поддержки KEM.
ERR_CRYPTO_OPERATION_FAILED
Криптографическая операция завершилась с ошибкой по неуказанной причине.
ERR_CRYPTO_PBKDF2_ERROR
Алгоритм PBKDF2 завершился с ошибкой по неизвестным причинам. OpenSSL не предоставляет дополнительных сведений, поэтому Node.js также не может их предоставить.
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_DIR_CLOSED
fs.Dir уже был закрыт.
ERR_DIR_CONCURRENT_OPERATION
Предпринята попытка синхронного чтения или закрытия fs.Dir, для которого выполняются асинхронные операции.
ERR_DLOPEN_DISABLED
Загрузка нативных дополнений отключена с помощью --no-addons.
ERR_DLOPEN_FAILED
Вызов process.dlopen() завершился с ошибкой.
ERR_DNS_SET_SERVERS_FAILED
Не удалось настроить DNS-сервер с помощью c-ares.
ERR_DOMAIN_CALLBACK_NOT_AVAILABLE
Модуль node:domain нельзя было использовать, поскольку не удалось настроить необходимые обработчики ошибок: ранее был вызван process.setUncaughtExceptionCaptureCallback().
ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE
Не удалось вызвать process.setUncaughtExceptionCaptureCallback(), поскольку модуль node:domain был загружен ранее.
Трассировка стека дополнена сведениями о моменте загрузки модуля node:domain.
ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION
Не удалось вызвать v8.startupSnapshot.setDeserializeMainFunction(), поскольку он уже был вызван ранее.
ERR_ENCODING_INVALID_ENCODED_DATA
Данные, переданные в API TextDecoder(), недопустимы для указанной кодировки.
ERR_ENCODING_NOT_SUPPORTED
Кодировка, переданная в API TextDecoder(), отсутствует в списке поддерживаемых кодировок WHATWG.
ERR_EVAL_ESM_CANNOT_PRINT
--print нельзя использовать с входными данными ESM.
ERR_EVENT_RECURSION
Возникает при попытке рекурсивно отправить событие для EventTarget.
ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE
Контекст выполнения JavaScript не связан со средой Node.js. Это может произойти, если Node.js используется как встраиваемая библиотека и некоторые обработчики движка JavaScript настроены неправильно.
ERR_FALSY_VALUE_REJECTION
Объект Promise, преобразованный в функцию обратного вызова с помощью util.callbackify(), был отклонен с ложным значением.
ERR_FEATURE_UNAVAILABLE_ON_PLATFORM
Используется при обращении к функции, недоступной на платформе, на которой запущен Node.js.
ERR_FFI_CALL_FAILED
Не удалось выполнить низкоуровневый вызов FFI.
ERR_FFI_INVALID_POINTER
Для операции FFI был передан недопустимый указатель.
ERR_FFI_LIBRARY_CLOSED
Предпринята попытка выполнить операцию с динамической библиотекой FFI после ее закрытия.
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_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
Предпринята попытка прочитать файл размером более 2 ГиБ — поддерживаемого предела для fs.readFile(). Это ограничение связано не с Buffer, а с внутренними ограничениями ввода-вывода. Для обработки файлов большего размера используйте fs.createReadStream(), чтобы читать файл по частям.
ERR_FS_WATCH_QUEUE_OVERFLOW
Количество ожидающих обработки событий файловой системы превысило размер, указанный в maxQueue в fs.watch().
ERR_HTTP2_ALTSVC_INVALID_ORIGIN
Кадры ALTSVC HTTP/2 требуют допустимого источника.
ERR_HTTP2_ALTSVC_LENGTH
Размер полезной нагрузки кадров ALTSVC HTTP/2 не может превышать 16 382 байта.
ERR_HTTP2_CONNECT_AUTHORITY
В запросах HTTP/2, использующих метод CONNECT, требуется псевдозаголовок :authority.
ERR_HTTP2_CONNECT_PATH
В запросах HTTP/2, использующих метод CONNECT, запрещен псевдозаголовок :path.
ERR_HTTP2_CONNECT_SCHEME
В запросах HTTP/2, использующих метод CONNECT, запрещен псевдозаголовок :scheme.
ERR_HTTP2_ERROR
Произошла неспецифическая ошибка HTTP/2.
ERR_HTTP2_GOAWAY_SESSION
Новые потоки HTTP/2 нельзя открывать после того, как Http2Session получил от подключенного узла кадр GOAWAY.
ERR_HTTP2_HEADERS_AFTER_RESPOND
После начала отправки ответа HTTP/2 были указаны дополнительные заголовки.
ERR_HTTP2_HEADERS_SENT
Предпринята попытка отправить несколько наборов заголовков ответа.
ERR_HTTP2_HEADER_SINGLE_VALUE
Для поля заголовка HTTP/2, которое должно содержать только одно значение, было указано несколько значений.
ERR_HTTP2_INFO_STATUS_NOT_ALLOWED
Информационные коды состояния HTTP (1xx) нельзя использовать в качестве кода состояния ответа HTTP/2.
ERR_HTTP2_INVALID_CONNECTION_HEADERS
Заголовки соединения HTTP/1 запрещено использовать в запросах и ответах HTTP/2.
ERR_HTTP2_INVALID_HEADER_VALUE
Указано недопустимое значение заголовка HTTP/2.
ERR_HTTP2_INVALID_INFO_STATUS
Указан недопустимый информационный код состояния HTTP. Информационный код состояния должен быть целым числом от 100 до 199 включительно.
ERR_HTTP2_INVALID_ORIGIN
Для кадров ORIGIN HTTP/2 требуется допустимый источник.
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
Длина кадров ORIGIN HTTP/2 не может превышать 16 382 байта.
ERR_HTTP2_OUT_OF_STREAMS
Количество потоков, созданных в одном сеансе HTTP/2, достигло максимального предела.
ERR_HTTP2_PAYLOAD_FORBIDDEN
Для кода ответа HTTP, не допускающего полезную нагрузку, была указана полезная нагрузка сообщения.
ERR_HTTP2_PING_CANCEL
Проверочный запрос HTTP/2 ping был отменен.
ERR_HTTP2_PING_LENGTH
Длина полезной нагрузки HTTP/2 ping должна составлять ровно 8 байт.
ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED
Псевдозаголовок HTTP/2 использован неправильно. Имена ключей псевдозаголовков начинаются с префикса :.
ERR_HTTP2_PUSH_DISABLED
Предпринята попытка создать поток push, отключенный клиентом.
ERR_HTTP2_SEND_FILE
Предпринята попытка отправить каталог с помощью API Http2Stream.prototype.responseWithFile().
ERR_HTTP2_SEND_FILE_NOSEEK
Предпринята попытка отправить с помощью API Http2Stream.prototype.responseWithFile() объект, не являющийся обычным файлом, но при этом были указаны параметры offset или length.
ERR_HTTP2_SESSION_ERROR
Http2Session был закрыт с ненулевым кодом ошибки.
ERR_HTTP2_SETTINGS_CANCEL
Настройки Http2Session были отменены.
ERR_HTTP2_SOCKET_BOUND
Предпринята попытка подключить объект Http2Session к net.Socket или tls.TLSSocket, уже привязанному к другому объекту Http2Session.
ERR_HTTP2_SOCKET_UNBOUND
Предпринята попытка использовать свойство socket объекта Http2Session, который уже закрыт.
ERR_HTTP2_STATUS_101
Использование информационного кода состояния 101 запрещено в HTTP/2.
ERR_HTTP2_STATUS_INVALID
Указан недопустимый код состояния HTTP. Код состояния должен быть целым числом от 100 до 599 включительно.
ERR_HTTP2_STREAM_CANCEL
Объект Http2Stream был уничтожен до передачи каких-либо данных подключенному узлу.
ERR_HTTP2_STREAM_ERROR
В кадре RST_STREAM был указан ненулевой код ошибки.
ERR_HTTP2_STREAM_SELF_DEPENDENCY
При настройке приоритета потока HTTP/2 поток может быть помечен как зависимый от родительского потока. Этот код ошибки используется, если предпринята попытка указать поток зависимым от самого себя.
ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS
Превышено максимально допустимое количество поддерживаемых пользовательских настроек (10).
ERR_HTTP2_TOO_MANY_INVALID_FRAMES
Превышен предел допустимого количества недействительных кадров протокола HTTP/2, отправляемых узлом и указанных с помощью параметра maxSessionInvalidFrames.
ERR_HTTP2_TOO_MANY_ORIGINS
Количество уникальных источников, отправленных сервером, превысило значение, заданное в options.maxOriginSetSize.
ERR_HTTP2_TRAILERS_ALREADY_SENT
Завершающие заголовки для Http2Stream уже были отправлены.
ERR_HTTP2_TRAILERS_NOT_READY
Метод http2stream.sendTrailers() нельзя вызвать, пока для объекта Http2Stream не будет создано событие 'wantTrailers'. Событие 'wantTrailers' создается, только если для Http2Stream задан параметр waitForTrailers.
ERR_HTTP2_UNSUPPORTED_PROTOCOL
В http2.connect() передан URL, использующий протокол, отличный от http: или https:.
ERR_HTTP_BODY_NOT_ALLOWED
Ошибка возникает при записи в HTTP-ответ, не допускающий содержимое.
ERR_HTTP_CONTENT_LENGTH_MISMATCH
Размер тела ответа не соответствует значению заголовка content-length.
ERR_HTTP_HEADERS_SENT
Предпринята попытка добавить заголовки после того, как заголовки уже были отправлены.
ERR_HTTP_INVALID_HEADER_VALUE
Указано недопустимое значение заголовка HTTP.
ERR_HTTP_INVALID_STATUS_CODE
Код состояния находится за пределами допустимого диапазона кодов состояния (100–999).
ERR_HTTP_REQUEST_TIMEOUT
Клиент не отправил запрос целиком за отведённое время.
ERR_HTTP_SOCKET_ASSIGNED
Для указанного ServerResponse уже назначен сокет.
ERR_HTTP_SOCKET_ENCODING
Изменение кодировки сокета запрещено согласно разделу 3 RFC 7230.
ERR_HTTP_TRAILER_INVALID
Заголовок Trailer был установлен, хотя кодировка передачи не поддерживает его.
ERR_ILLEGAL_CONSTRUCTOR
Предпринята попытка создать объект с помощью непубличного конструктора.
ERR_IMPORT_ATTRIBUTE_MISSING
Отсутствует атрибут импорта, из-за чего указанный модуль не может быть импортирован.
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
Был указан атрибут импорта type, но указанный модуль имеет другой тип.
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 файла с несовместимым путём. Точные правила определения допустимости пути зависят от платформы.
Объект ошибки содержит свойство input, в котором находится объект URL недопустимого URL-адреса file:.
ERR_INVALID_HANDLE_TYPE
Предпринята попытка отправить неподдерживаемый «handle» по каналу межпроцессного взаимодействия дочернему процессу. Подробнее см. в разделах subprocess.send() и process.send().
ERR_INVALID_HTTP_TOKEN
Передан недопустимый токен HTTP.
ERR_INVALID_IP_ADDRESS
IP-адрес недействителен.
ERR_INVALID_MIME_SYNTAX
Синтаксис MIME недействителен.
ERR_INVALID_MODULE
Предпринята попытка загрузить несуществующий или иным образом недействительный модуль.
ERR_INVALID_MODULE_SPECIFIER
Строка импортируемого модуля содержит недопустимый URL, имя пакета или спецификатор подпути пакета.
ERR_INVALID_OBJECT_DEFINE_PROPERTY
При установке недопустимого атрибута свойства объекта произошла ошибка.
ERR_INVALID_PACKAGE_CONFIG
Не удалось разобрать недопустимый файл package.json.
ERR_INVALID_PACKAGE_TARGET
Поле package.json "exports" содержит недопустимое целевое значение сопоставления для выполняемого разрешения модуля.
ERR_INVALID_PROTOCOL
В http.request() передан недопустимый options.protocol.
ERR_INVALID_REPL_EVAL_CONFIG
В конфигурации REPL заданы оба параметра: breakEvalOnSigint и eval. Такая комбинация не поддерживается.
ERR_INVALID_REPL_INPUT
Этот ввод нельзя использовать в REPL. Условия возникновения этой ошибки описаны в документации по REPL.
ERR_INVALID_RETURN_PROPERTY
Возникает, если параметр функции не предоставляет допустимое значение для одного из свойств возвращаемого объекта при выполнении.
ERR_INVALID_RETURN_PROPERTY_VALUE
Возникает, если параметр функции не предоставляет ожидаемый тип значения для одного из свойств возвращаемого объекта при выполнении.
ERR_INVALID_RETURN_VALUE
Возникает, если параметр функции при выполнении возвращает значение неожиданного типа, например, когда функция должна возвращать промис.
ERR_INVALID_STATE
Указывает, что операцию невозможно завершить из-за недопустимого состояния. Например, объект мог быть уже уничтожен или выполнять другую операцию.
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'
jscopy
ERR_INVALID_TUPLE
Элемент в iterable, переданном конструктору URLSearchParams из WHATWG, не представлял собой кортеж [name, value] — то есть элемент не является итерируемым или состоит не ровно из двух элементов.
ERR_INVALID_TYPESCRIPT_SYNTAX
Указан недопустимый синтаксис TypeScript.
ERR_INVALID_URI
Передан недопустимый URI.
ERR_INVALID_URL
Для разбора в конструктор URL из WHATWG или в устаревшую функцию url.parse() передан недопустимый URL. Обычно объект ошибки содержит дополнительное свойство 'input' с URL, который не удалось разобрать.
ERR_INVALID_URL_PATTERN
Для разбора в конструктор URLPattern из WHATWG передан недопустимый URLPattern.
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
Предпринята попытка открыть канал межпроцессного взаимодействия с синхронно созданным с помощью fork процессом Node.js. Подробнее см. документацию модуля child_process.
ERR_IP_BLOCKED
IP заблокирован net.BlockList.
ERR_LOADER_CHAIN_INCOMPLETE
Хук загрузчика ESM завершился, не вызвав next() и явно не сообщив о коротком замыкании цепочки.
ERR_LOAD_SQLITE_EXTENSION
При загрузке расширения SQLite произошла ошибка.
ERR_MEMORY_ALLOCATION_FAILED
Не удалось выделить память (обычно на уровне C++).
ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE
Не удалось десериализовать сообщение, отправленное в 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, не поддерживает создание рабочих потоков. Это связано с отсутствием поддержки рабочих потоков со стороны встраивающей среды. В частности, эта ошибка не возникает в стандартных сборках Node.js.
ERR_MODULE_LINK_MISMATCH
Не удалось связать модуль, поскольку одинаковые запросы модуля в нём разрешаются в разные модули.
ERR_MODULE_NOT_FOUND
Загрузчику модулей ECMAScript не удалось разрешить файл модуля при выполнении операции import или загрузке точки входа программы.
ERR_MULTIPLE_CALLBACK
Функция обратного вызова была вызвана более одного раза.
Функцию обратного вызова почти всегда следует вызывать только один раз: запрос может быть либо выполнен, либо отклонён, но не то и другое одновременно. Последнее возможно, если вызвать функцию обратного вызова несколько раз.
ERR_NAPI_CONS_FUNCTION
При использовании Node-API переданный конструктор не являлся функцией.
ERR_NAPI_INVALID_DATAVIEW_ARGS
При вызове napi_create_dataview() указанное значение offset выходило за границы dataview или offset + length превышало длину указанного buffer.
ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT
При вызове napi_create_typedarray() переданное значение offset не было кратно размеру элемента.
ERR_NAPI_INVALID_TYPEDARRAY_LENGTH
При вызове napi_create_typedarray() значение (length * size_of_element) + byte_offset превышало длину указанного buffer.
ERR_NAPI_TSFN_CALL_JS
При вызове JavaScript-части потокобезопасной функции произошла ошибка.
ERR_NAPI_TSFN_GET_UNDEFINED
При попытке получить значение JavaScript undefined произошла ошибка.
ERR_NON_CONTEXT_AWARE_DISABLED
В процессе, запрещающем загрузку нативных дополнений без поддержки контекстов, было загружено такое дополнение.
ERR_NOT_BUILDING_SNAPSHOT
Предпринята попытка использовать операции, доступные только при создании стартового снимка V8, хотя Node.js его не создаёт.
ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION
Эту операцию нельзя выполнить вне однофайлового исполняемого приложения.
ERR_NOT_SUPPORTED_IN_SNAPSHOT
Предпринята попытка выполнить операции, не поддерживаемые при создании стартового снимка.
ERR_NO_CRYPTO
Предпринята попытка использовать криптографические функции, хотя Node.js был собран без поддержки криптографии OpenSSL.
ERR_NO_ICU
Предпринята попытка использовать функции, требующие ICU, хотя Node.js был собран без поддержки ICU.
ERR_NO_TEMPORAL
Предпринята попытка использовать функции, требующие Temporal, хотя Node.js был собран без поддержки Temporal или она отключена в текущей среде (например, при запуске с --no-harmony-temporal).
ERR_NO_TYPESCRIPT
Предпринята попытка использовать функции, требующие встроенной поддержки TypeScript, хотя Node.js был собран без поддержки TypeScript.
ERR_OPERATION_FAILED
Операция завершилась ошибкой. Обычно этот код используется для обозначения общей ошибки асинхронной операции.
ERR_OPTIONS_BEFORE_BOOTSTRAPPING
Предпринята попытка получить параметры до завершения начальной загрузки.
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
При значении strict, равном true, функция util.parseArgs() вызывает эту ошибку, если для параметра типа <string> передано значение <boolean> или для параметра типа <boolean> передано значение <string>.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
Функция util.parseArgs() вызывает эту ошибку, если передан позиционный аргумент, а параметр allowPositionals имеет значение false.
ERR_PARSE_ARGS_UNKNOWN_OPTION
При значении 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_PROXY_INVALID_CONFIG
Не удалось выполнить проксирование запроса из-за недопустимой конфигурации прокси.
ERR_PROXY_TUNNEL
Не удалось установить туннель прокси при включённом параметре NODE_USE_ENV_PROXY или --use-env-proxy.
ERR_QUIC_APPLICATION_ERROR
Стабильность: 1 — экспериментальная
Произошла ошибка приложения QUIC.
ERR_QUIC_CONNECTION_FAILED
Стабильность: 1 — экспериментальная
Не удалось установить соединение QUIC.
ERR_QUIC_ENDPOINT_CLOSED
Стабильность: 1 — экспериментальная
Конечная точка QUIC была закрыта с ошибкой.
ERR_QUIC_OPEN_STREAM_FAILED
Стабильность: 1 — экспериментальная
Не удалось открыть поток QUIC.
ERR_QUIC_STREAM_ABORTED
Стабильность: 1 — экспериментальная
Код ошибки Node.js для ошибки QuicError, возникающей при прерывании потока или сеанса QUIC с явным кодом ошибки приложения или транспорта.
ERR_QUIC_STREAM_RESET
Стабильность: 1 — экспериментальная
Поток QUIC был сброшен удалённой стороной. Ошибка содержит код сброса, предоставленный удалённой стороной.
ERR_QUIC_TRANSPORT_ERROR
Стабильность: 1 — экспериментальная
Произошла ошибка транспорта QUIC.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
Стабильность: 1 — экспериментальная
Сеанс QUIC завершился ошибкой, поскольку требуется согласование версии.
ERR_REQUIRE_ASYNC_MODULE
При попытке выполнить require() модуль ES оказалось, что модуль асинхронный, то есть содержит await на верхнем уровне.
Чтобы определить, где находится await на верхнем уровне, используйте --experimental-print-required-tla (это выполнит модули перед поиском await на верхнем уровне).
ERR_REQUIRE_CYCLE_MODULE
При попытке выполнить require() модуль ES ребро CommonJS → ESM или ESM → CommonJS участвует в непосредственном цикле. Это запрещено, поскольку модули ES нельзя вычислять, пока они уже вычисляются.
Чтобы избежать цикла, вызов require(), участвующий в цикле, не должен выполняться на верхнем уровне модуля ES (через createRequire()) или модуля CommonJS; его следует выполнять отложенно во внутренней функции.
ERR_REQUIRE_ESM
Стабильность: 0 — устарело
Предпринята попытка выполнить require() модуль ES.
Этот код ошибки объявлен устаревшим, поскольку require() теперь поддерживает загрузку синхронных модулей ES. Если require() обнаруживает модуль ES, содержащий await на верхнем уровне await, вместо этого возникает ошибка ERR_REQUIRE_ASYNC_MODULE.
ERR_REQUIRE_ESM_RACE_CONDITION
Стабильность: 1 — экспериментальная.
Предпринята попытка выполнить require() модуль ES, пока другой вызов import() уже выполнялся для его асинхронной загрузки.
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_SOURCE_MAP_CORRUPT
Не удалось разобрать карту исходного кода, поскольку она отсутствует или повреждена.
ERR_SOURCE_MAP_MISSING_SOURCE
Файл, импортированный из карты исходного кода, не найден.
ERR_SOURCE_PHASE_NOT_DEFINED
Предоставленный импорт модуля не содержит представления импорта на этапе исходного кода для синтаксиса импорта на этапе исходного кода import source x from 'x' или import.source(x).
ERR_SQLITE_ERROR
SQLite вернула ошибку.
ERR_SRI_PARSE
Для проверки целостности подресурса была предоставлена строка, но её не удалось разобрать. Проверьте формат атрибутов целостности по спецификации целостности подресурсов.
ERR_STREAM_ALREADY_FINISHED
Был вызван метод потока, который не может завершиться, поскольку поток уже завершён.
ERR_STREAM_CANNOT_PIPE
Предпринята попытка вызвать stream.pipe() для потока Writable.
ERR_STREAM_DESTROYED
Был вызван метод потока, который не может завершиться, поскольку поток был уничтожен с помощью stream.destroy().
ERR_STREAM_ITER_MISSING_FLAG
API stream/iter был использован без включённого флага CLI --experimental-stream-iter.
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_UNABLE_TO_PIPE
Предпринята попытка передать данные в закрытый или уничтоженный поток конвейера.
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');
jscopy
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
Попытка задать minVersion или maxVersion протокола TLS конфликтует с явной попыткой задать secureProtocol. Используйте только один из этих способов.
ERR_TLS_PSK_SET_IDENTITY_HINT_FAILED
Не удалось задать подсказку идентификатора PSK. Возможно, подсказка слишком длинная.
ERR_TLS_RENEGOTIATION_DISABLED
Предпринята попытка повторно согласовать TLS для экземпляра сокета, в котором повторное согласование отключено.
ERR_TLS_RENEGOTIATION_UNSUPPORTED
Предпринята попытка повторно согласовать TLS, но реализация 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_TRAILING_JUNK_AFTER_STREAM_END
После окончания сжатого потока обнаружены лишние данные. Эта ошибка возникает, если после конца сжатого потока обнаруживаются дополнительные неожиданные данные (например, при распаковке zlib или gzip).
ERR_TRANSFORM_ALREADY_TRANSFORMING
Поток Transform завершился, пока всё ещё выполнялось преобразование.
ERR_TRANSFORM_WITH_LENGTH_0
Поток Transform завершился, хотя в буфере записи ещё оставались данные.
ERR_TTY_INIT_FAILED
Не удалось инициализировать TTY из-за системной ошибки.
ERR_UNAVAILABLE_DURING_EXIT
Функция была вызвана в обработчике process.on('exit'), хотя её нельзя вызывать в обработчике process.on('exit').
ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
process.setUncaughtExceptionCaptureCallback() был вызван дважды без предварительного сброса обратного вызова на null.
Эта ошибка предназначена для предотвращения случайной перезаписи обратного вызова, зарегистрированного другим модулем.
ERR_UNESCAPED_CHARACTERS
Получена строка, содержащая неэкранированные символы.
ERR_UNHANDLED_ERROR
Произошла необработанная ошибка (например, когда объект EventEmitter отправляет событие 'error', но обработчик 'error' не зарегистрирован).
ERR_UNKNOWN_BUILTIN_MODULE
Используется для идентификации определённого типа внутренней ошибки Node.js, которая обычно не должна возникать в пользовательском коде. Экземпляры этой ошибки указывают на внутреннюю ошибку в самом исполняемом файле Node.js.
ERR_UNKNOWN_CREDENTIAL
Передан несуществующий идентификатор пользователя или группы Unix.
ERR_UNKNOWN_ENCODING
В API передан недопустимый или неизвестный параметр кодировки.
ERR_UNKNOWN_FILE_EXTENSION
Предпринята попытка загрузить модуль с неизвестным или неподдерживаемым расширением файла.
ERR_UNKNOWN_MODULE_FORMAT
Предпринята попытка загрузить модуль с неизвестным или неподдерживаемым форматом.
ERR_UNKNOWN_SIGNAL
В API, ожидающий допустимый сигнал процесса (например, subprocess.kill()), передан недопустимый или неизвестный сигнал.
ERR_UNSUPPORTED_DIR_IMPORT
import URL каталога не поддерживается. Вместо этого ссылайтесь на пакет по его имени и определите пользовательский под путь в поле "exports" файла package.json.
import './'; // unsupported import './index.js'; // supported import 'package-name'; // supported mjscopy
ERR_UNSUPPORTED_ESM_URL_SCHEME
import со схемами URL, отличными от file и data, не поддерживается.
ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
Удаление типов не поддерживается для файлов, расположенных внутри каталога node_modules или его подкаталогов.
ERR_UNSUPPORTED_RESOLVE_REQUEST
Предпринята попытка разрешить недопустимый модуль-источник ссылки. Это может произойти при импорте или вызове import.meta.resolve() в следующих случаях:
- используется краткий спецификатор, не являющийся встроенным модулем, из модуля со схемой URL, отличной от
file. - используется относительный URL из модуля, схема URL которого не является специальной схемой.
try {
// Trying to import the package 'bare-specifier' from a `data:` URL module:
await import('data:text/javascript,import "bare-specifier"');
} catch (e) {
console.log(e.code); // ERR_UNSUPPORTED_RESOLVE_REQUEST
}
mjscopy
ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX
Предоставленный синтаксис TypeScript не поддерживается. Это может произойти при использовании синтаксиса TypeScript, который требует преобразования с помощью удаления типов.
ERR_USE_AFTER_CLOSE
Предпринята попытка использовать уже закрытый объект.
ERR_VALID_PERFORMANCE_ENTRY_TYPE
При использовании API Performance Timing (perf_hooks) не найдено допустимых типов записей производительности.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
Не задан обратный вызов динамического импорта.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG
Обратный вызов динамического импорта был вызван без --experimental-vm-modules.
ERR_VM_MODULE_ALREADY_LINKED
Модуль нельзя связать по одной из следующих причин:
- Он уже связан (
linkingStatusравно'linked') - В данный момент он связывается (
linkingStatusравно'linking') - Связывание этого модуля завершилось с ошибкой (
linkingStatusравно'errored')
ERR_VM_MODULE_CACHED_DATA_REJECTED
Параметр cachedData, переданный конструктору модуля, недопустим.
ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA
Невозможно создать кэшированные данные для уже вычисленных модулей.
ERR_VM_MODULE_DIFFERENT_CONTEXT
Модуль, возвращённый функцией связывания, относится к контексту, отличному от контекста родительского модуля. Связанные модули должны использовать один и тот же контекст.
ERR_VM_MODULE_LINK_FAILURE
Не удалось связать модуль из-за ошибки.
ERR_VM_MODULE_NOT_MODULE
Выполненное значение обещания связывания не является объектом vm.Module.
ERR_VM_MODULE_STATUS
Текущее состояние модуля не позволяет выполнить эту операцию. Конкретное значение ошибки зависит от вызываемой функции.
ERR_WASI_ALREADY_STARTED
Экземпляр WASI уже запущен.
ERR_WASI_NOT_STARTED
Экземпляр WASI не запущен.
ERR_WEBASSEMBLY_NOT_SUPPORTED
Была использована функция, требующая WebAssembly, но WebAssembly не поддерживается или отключён в текущей среде (например, при запуске с --jitless).
ERR_WEBASSEMBLY_RESPONSE
Объект Response, переданный в WebAssembly.compileStreaming или WebAssembly.instantiateStreaming, не является допустимым ответом WebAssembly.
ERR_WORKER_INIT_FAILED
Не удалось выполнить инициализацию Worker.
ERR_WORKER_INVALID_EXEC_ARGV
Параметр execArgv, переданный конструктору Worker, содержит недопустимые флаги.
ERR_WORKER_MESSAGING_ERRORED
Стабильность: 1.1 — активная разработка
В целевом потоке возникла ошибка при обработке сообщения, отправленного через postMessageToThread().
ERR_WORKER_MESSAGING_FAILED
Стабильность: 1.1 — активная разработка
Поток, указанный в postMessageToThread(), недопустим или не имеет обработчика workerMessage.
ERR_WORKER_MESSAGING_SAME_THREAD
Стабильность: 1.1 — активная разработка
Идентификатор потока, указанный в postMessageToThread(), совпадает с идентификатором текущего потока.
ERR_WORKER_MESSAGING_TIMEOUT
Стабильность: 1.1 — активная разработка
Истекло время ожидания отправки сообщения через postMessageToThread().
ERR_WORKER_NOT_RUNNING
Операция завершилась с ошибкой, поскольку экземпляр Worker в данный момент не работает.
ERR_WORKER_OUT_OF_MEMORY
Экземпляр Worker был завершён, поскольку достиг предела памяти.
ERR_WORKER_PATH
Путь к основному скрипту рабочего потока не является ни абсолютным путём, ни относительным путём, начинающимся с ./ или ../.
ERR_WORKER_UNSERIALIZABLE_ERROR
Не удалось сериализовать необработанное исключение из рабочего потока ни одним из доступных способов.
ERR_WORKER_UNSUPPORTED_OPERATION
Запрошенная функция не поддерживается в рабочих потоках.
ERR_ZLIB_INITIALIZATION_FAILED
Не удалось создать объект zlib из-за некорректной конфигурации.
ERR_ZSTD_INVALID_PARAM
При создании потока Zstd был передан недопустимый ключ параметра.
HPE_CHUNK_EXTENSIONS_OVERFLOW
Для расширений фрагмента получено слишком много данных. Для защиты от вредоносных или неправильно настроенных клиентов при получении более 16 КиБ данных будет отправлена ошибка Error с этим кодом.
HPE_HEADER_OVERFLOW
Получено слишком много данных HTTP-заголовка. Для защиты от вредоносных или неправильно настроенных клиентов, если получено более maxHeaderSize данных HTTP-заголовка, разбор HTTP будет прерван без создания объекта запроса или ответа, а также будет отправлена ошибка Error с этим кодом.
HPE_UNEXPECTED_CONTENT_LENGTH
Сервер отправляет одновременно заголовок Content-Length и Transfer-Encoding: chunked.
Transfer-Encoding: chunked позволяет серверу поддерживать постоянное HTTP-соединение для динамически генерируемого содержимого. В этом случае HTTP-заголовок Content-Length использовать нельзя.
Используйте Content-Length или Transfer-Encoding: chunked.
MODULE_NOT_FOUND
Загрузчику модулей CommonJS не удалось найти файл модуля при попытке выполнить операцию require() или загрузить точку входа программы.
Устаревшие коды ошибок Node.js
Стабильность: 0 — устарело. Эти коды ошибок непоследовательны или были удалены.
ERR_CANNOT_TRANSFER_OBJECT
Значение, переданное в postMessage(), содержало объект, передача которого не поддерживается.
ERR_CPU_USAGE
Не удалось обработать нативный вызов из process.cpuUsage.
ERR_CRYPTO_HASH_DIGEST_NO_UTF16
Для hash.digest() использовалась кодировка UTF-16. Хотя метод hash.digest() позволяет передать аргумент encoding, чтобы метод возвращал строку, а не Buffer, кодировка UTF-16 (например, ucs или utf16le) не поддерживается.
ERR_CRYPTO_SCRYPT_INVALID_PARAMETER
В crypto.scrypt() или crypto.scryptSync() была передана несовместимая комбинация параметров. В новых версиях Node.js вместо этого используется код ошибки ERR_INCOMPATIBLE_OPTION_PAIR, согласованный с другими API.
ERR_FS_INVALID_SYMLINK_TYPE
В методы fs.symlink() или fs.symlinkSync() был передан недопустимый тип символической ссылки.
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_IMPORT_ASSERTION_TYPE_FAILED
Проверка утверждения импорта завершилась с ошибкой, поэтому указанный модуль не удалось импортировать.
ERR_IMPORT_ASSERTION_TYPE_MISSING
Отсутствует утверждение импорта, поэтому указанный модуль не удалось импортировать.
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
Эта версия Node.js не поддерживает атрибут импорта.
ERR_INDEX_OUT_OF_RANGE
Указанный индекс выходит за допустимый диапазон (например, отрицательные смещения).
ERR_INVALID_OPT_VALUE
В объекте параметров передано недопустимое или неожиданное значение.
ERR_INVALID_OPT_VALUE_ENCODING
Передана недопустимая или неизвестная кодировка файла.
ERR_INVALID_PERFORMANCE_MARK
При использовании API Performance Timing (perf_hooks) метка производительности недействительна.
ERR_INVALID_TRANSFER_OBJECT
В postMessage() был передан недопустимый объект для передачи.
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_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
В Node.js 15.0.0 этот код ошибки был заменён на ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST, поскольку теперь существуют и другие типы объектов, поддерживающих передачу, и прежнее название больше не является точным.
ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
Объект, который необходимо явно указать в аргументе transferList, присутствует в объекте, переданном вызову postMessage(), но отсутствует в аргументе transferList этого вызова. Обычно это MessagePort.
В версиях Node.js до v15.0.0 здесь использовался код ошибки ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST. Однако набор типов объектов, поддерживающих передачу, был расширен и теперь включает больше типов, чем MessagePort.
ERR_NAPI_CONS_PROTOTYPE_OBJECT
Используется Node-API, когда Constructor.prototype не является объектом.
ERR_NAPI_TSFN_START_IDLE_LOOP
В основном потоке значения удаляются из очереди, связанной с потокобезопасной функцией, в цикле ожидания. Эта ошибка указывает на то, что при попытке запустить цикл произошла ошибка.
ERR_NAPI_TSFN_STOP_IDLE_LOOP
Когда в очереди больше не остаётся элементов, цикл ожидания необходимо приостановить. Эта ошибка указывает на то, что цикл ожидания не удалось остановить.
ERR_NO_LONGER_SUPPORTED
API Node.js был вызван неподдерживаемым способом, например Buffer.write(string, encoding, offset[, length]).
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 в «экстернализированном» режиме или переводят существующие 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_LINKING_ERRORED
Функция связывания вернула модуль, связывание которого завершилось ошибкой.
ERR_VM_MODULE_NOT_LINKED
Перед созданием экземпляра модуль необходимо успешно связать.
ERR_WORKER_UNSUPPORTED_EXTENSION
Указанный путь к главному скрипту рабочего потока имеет неизвестное расширение файла.
ERR_ZLIB_BINDING_CLOSED
Используется при попытке применить объект zlib после его закрытия.
Коды ошибок OpenSSL
Ошибки срока действия
CERT_NOT_YET_VALID
Срок действия сертификата ещё не начался: дата notBefore позже текущего времени.
CERT_HAS_EXPIRED
Срок действия сертификата истёк: дата notAfter предшествует текущему времени.
CRL_NOT_YET_VALID
Дата выпуска списка отзыва сертификатов (CRL) ещё не наступила.
CRL_HAS_EXPIRED
Срок действия списка отзыва сертификатов (CRL) истёк.
CERT_REVOKED
Сертификат отозван: он включён в список отзыва сертификатов (CRL).
Ошибки доверия или цепочки сертификатов
UNABLE_TO_GET_ISSUER_CERT
Не удалось найти сертификат издателя найденного сертификата. Обычно это означает, что список доверенных сертификатов неполон.
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
Издатель сертификата неизвестен. Это происходит, если издатель не включён в список доверенных сертификатов.
DEPTH_ZERO_SELF_SIGNED_CERT
Переданный сертификат является самоподписанным, и такой же сертификат не найден в списке доверенных сертификатов.
SELF_SIGNED_CERT_IN_CHAIN
Издатель сертификата неизвестен. Это происходит, если издатель не включён в список доверенных сертификатов.
CERT_CHAIN_TOO_LONG
Длина цепочки сертификатов превышает максимальную глубину.
UNABLE_TO_GET_CRL
Не удалось найти список отзыва сертификатов (CRL), на который ссылается сертификат.
UNABLE_TO_VERIFY_LEAF_SIGNATURE
Не удалось проверить подписи, поскольку цепочка содержит только один сертификат и он не является самоподписанным.
CERT_UNTRUSTED
Корневой центр сертификации (CA) не помечен как доверенный для указанной цели.
Ошибки основных расширений
INVALID_CA
Сертификат центра сертификации (CA) недействителен: либо он не является сертификатом CA, либо его расширения не соответствуют указанной цели.
PATH_LENGTH_EXCEEDED
Превышен параметр pathlength расширения basicConstraints.
Ошибки, связанные с именем
HOSTNAME_MISMATCH
Сертификат не соответствует указанному имени.
Ошибки использования и политики
INVALID_PURPOSE
Предоставленный сертификат нельзя использовать для указанной цели.
CERT_REJECTED
Корневой CA помечен как запрещённый для указанной цели.
Ошибки формата
CERT_SIGNATURE_FAILURE
Подпись сертификата недействительна.
CRL_SIGNATURE_FAILURE
Подпись списка отзыва сертификатов (CRL) недействительна.
ERROR_IN_CERT_NOT_BEFORE_FIELD
Поле notBefore сертификата содержит недопустимое время.
ERROR_IN_CERT_NOT_AFTER_FIELD
Поле notAfter сертификата содержит недопустимое время.
ERROR_IN_CRL_LAST_UPDATE_FIELD
Поле lastUpdate списка отзыва сертификатов (CRL) содержит недопустимое время.
ERROR_IN_CRL_NEXT_UPDATE_FIELD
Поле nextUpdate списка отзыва сертификатов (CRL) содержит недопустимое время.
UNABLE_TO_DECRYPT_CERT_SIGNATURE
Не удалось расшифровать подпись сертификата. Это означает, что фактическое значение подписи не удалось определить, а не то, что оно не совпадает с ожидаемым значением. Это имеет смысл только для ключей RSA.
UNABLE_TO_DECRYPT_CRL_SIGNATURE
Не удалось расшифровать подпись списка отзыва сертификатов (CRL): фактическое значение подписи не удалось определить, а не то, что оно не совпадает с ожидаемым значением.
UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
Не удалось прочитать открытый ключ из SubjectPublicKeyInfo сертификата.
Другие ошибки OpenSSL
OUT_OF_MEM
Произошла ошибка при попытке выделить память. Этого никогда не должно происходить.
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/api/errors.html