Ошибки
Приложения, работающие в Node.js, обычно сталкиваются с четырьмя категориями ошибок:
- Стандартные ошибки JavaScript, такие как <EvalError>, <SyntaxError>, <RangeError>, <ReferenceError>, <TypeError> и <URIError>.
- Системные ошибки, вызванные ограничениями базовой операционной системы, например, попытка открыть несуществующий файл или попытка отправить данные через закрытый сокет.
- Ошибки, заданные пользователем и вызванные кодом приложения.
AssertionError
- это особый класс ошибок, которые могут быть вызваны, когда Node.js обнаруживает исключительное нарушение логики, которое никогда не должно происходить. Обычно они вызываются модулемnode:assert
.
Все ошибки JavaScript и системы, вызванные Node.js, наследуются от стандартного класса JavaScript <Error> или являются его экземплярами, и гарантированно предоставляют как минимум свойства, доступные в этом классе.
Распространение и перехват ошибок
Node.js поддерживает несколько механизмов распространения и обработки ошибок, возникающих во время работы приложения. То, как эти ошибки сообщаются и обрабатываются, полностью зависит от типа Error
и стиля вызываемого API.
Все ошибки JavaScript обрабатываются как исключения, которые немедленно генерируют и выбрасывают ошибку с помощью стандартного механизма JavaScript throw
. Они обрабатываются с помощью конструкции try…catch
, предоставляемой языком JavaScript.
// Вызывает ReferenceError, потому что z не определено.
try {
const m = 1
const n = m + z
} catch (err) {
// Обработайте ошибку здесь.
}
Любое использование механизма throw
в JavaScript вызовет исключение, которое должно быть обработано, иначе процесс Node.js немедленно завершится.
За редким исключением, синхронные API (любой блокирующий метод, который не возвращает <Promise> и не принимает функцию callback
, например, fs.readFileSync
), будут использовать throw
для сообщения об ошибках.
Ошибки, возникающие в асинхронных API, могут сообщаться несколькими способами:
- Некоторые асинхронные методы возвращают <Promise>, вы всегда должны учитывать, что он может быть отклонен. Смотрите флаг
--unhandled-rejections
, чтобы узнать, как процесс будет реагировать на необработанное отклонение промиса. - Большинство асинхронных методов, принимающих функцию
callback
, примут объектError
, переданный в качестве первого аргумента этой функции. Если этот первый аргумент не равенnull
и является экземпляромError
, то произошла ошибка, которую следует обработать. - Когда асинхронный метод вызывается на объекте, являющемся
EventEmitter
, ошибки могут быть перенаправлены в событие'error'
этого объекта. - Несколько обычно асинхронных методов в 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(() => {
// Это приведет к сбою процесса, потому что обработчик события 'error'
// не был добавлен.
ee.emit('error', new Error('Это приведет к сбою'))
})
Ошибки, сгенерированные таким образом, не могут быть перехвачены с помощью 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])
Создает свойство .stack
для targetObject
, которое при обращении возвращает строку, представляющую расположение в коде, в котором был вызван Error.captureStackTrace()
.
const myObject = {}
Error.captureStackTrace(myObject)
myObject.stack // Аналогично `new Error().stack`
Первая строка трассировки будет иметь префикс ${myObject.name}: ${myObject.message}
.
Необязательный аргумент constructorOpt
принимает функцию. Если он задан, все кадры выше constructorOpt
, включая constructorOpt
, будут опущены из сгенерированной трассировки стека.
Аргумент constructorOpt
полезен для сокрытия деталей реализации генерации ошибок от пользователя. Например:
function a() {
b()
}
function b() {
c()
}
function c() {
// Создаем ошибку без трассировки стека, чтобы избежать двойного расчета трассировки стека.
const { stackTraceLimit } = Error
Error.stackTraceLimit = 0
const error = new Error()
Error.stackTraceLimit = stackTraceLimit
// Захватываем трассировку стека выше функции b
Error.captureStackTrace(error, b) // Ни функция c, ни b не включены в трассировку стека
throw error
}
a()
Error.stackTraceLimit
Свойство Error.stackTraceLimit
указывает количество фреймов стека, собираемых трассировкой стека (будь то сгенерированной new Error().stack
или Error.captureStackTrace(obj)
).
Значение по умолчанию — 10
, но его можно установить на любое допустимое число JavaScript. Изменения повлияют на любую трассировку стека, захваченную после изменения значения.
Если установлено нечисловое значение или отрицательное число, трассировки стека не будут захватывать никакие фреймы.
error.cause
Добавлено в: v16.9.0
Если присутствует, свойство error.cause
является основной причиной Error
. Оно используется при перехвате ошибки и создании новой с другим сообщением или кодом, чтобы по-прежнему иметь доступ к исходной ошибке.
Свойство error.cause
обычно устанавливается путем вызова new Error(message, { cause })
. Оно не устанавливается конструктором, если опция cause
не указана.
Это свойство позволяет связывать ошибки в цепочку. При сериализации объектов Error
метод util.inspect()
рекурсивно сериализует error.cause
, если он установлен.
const cause = new Error('Удаленный HTTP-сервер ответил со статусом 500')
const symptom = new Error('Не удалось отправить сообщение', { cause })
console.log(symptom)
// Выводит:
// Error: Не удалось отправить сообщение
// at REPL2:1:17
// at Script.runInThisContext (node:vm:130:12)
// ... 7 строк, соответствующих трассировке стека причины ...
// at [_line] [as _line] (node:internal/readline/interface:886:18) {
// [cause]: Error: Удаленный HTTP-сервер ответил со статусом 500
// 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)
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)
// Выводит: The message
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)
Первая строка форматируется как \<имя класса ошибки\>: \<сообщение об ошибке\>
, а за ней следует ряд кадров стека (каждая строка начинается с "at "). Каждый кадр описывает место вызова в коде, которое привело к возникновению ошибки. V8 пытается отобразить имя для каждой функции (по имени переменной, имени функции или имени метода объекта), но иногда он не сможет найти подходящее имя. Если V8 не может определить имя функции, для этого кадра будет отображаться только информация о местоположении. В противном случае определенное имя функции будет отображаться с информацией о местоположении, добавленной в скобках.
Кадры генерируются только для функций JavaScript. Если, например, выполнение синхронно проходит через функцию C++ аддона под названием cheetahify
, которая сама вызывает функцию JavaScript, кадр, представляющий вызов cheetahify
, не будет присутствовать в трассировках стека:
const cheetahify = require('./native-binding.node')
function makeFaster() {
// `cheetahify()` *синхронно* вызывает speedy.
cheetahify(function speedy() {
throw new Error('oh no!')
})
}
makeFaster()
// выдаст ошибку:
// /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
Информация о местоположении будет одной из следующих:
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)
// Выбрасывает исключение "RangeError: "port" option should be >= 0 and < 65536: -1"
Node.js будет генерировать и выбрасывать экземпляры RangeError
немедленно в качестве формы проверки аргументов.
Класс: ReferenceError
- Расширяет: <errors.Error>
Указывает, что делается попытка доступа к переменной, которая не определена. Такие ошибки обычно указывают на опечатки в коде или на иное неисправное состояние программы.
Хотя клиентский код может генерировать и распространять эти ошибки, на практике только V8 будет это делать.
doesNotExist
// Выбрасывает ReferenceError, doesNotExist не является переменной в этой программе.
Если приложение не генерирует и не запускает код динамически, экземпляры ReferenceError
указывают на ошибку в коде или его зависимостях.
Класс: SyntaxError
- Расширяет: <errors.Error>
Указывает, что программа не является допустимым JavaScript. Эти ошибки могут быть сгенерированы и распространены только в результате вычисления кода. Вычисление кода может происходить в результате eval
, Function
, require
или vm. Эти ошибки почти всегда указывают на неисправность программы.
try {
require('node:vm').runInThisContext('binary ! isNotOk')
} catch (err) {
// 'err' будет SyntaxError.
}
Экземпляры 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): Указывает на сбой DNSEAI_NODATA
илиEAI_NONAME
. Это не стандартная ошибка POSIX.EPERM
(Операция не разрешена): Была предпринята попытка выполнить операцию, требующую повышенных привилегий.EPIPE
(Разорванный канал): Запись в канал, сокет или FIFO, для которого нет процесса для чтения данных. Часто встречается на уровняхnet
иhttp
, что указывает на то, что удаленная сторона потока, в который выполняется запись, была закрыта.ETIMEDOUT
(Время ожидания операции истекло): Запрос на подключение или отправку не удался, поскольку подключенная сторона не ответила должным образом по истечении периода времени. Обычно встречается вhttp
илиnet
. Часто является признаком того, чтоsocket.end()
не был вызван должным образом.
Класс: TypeError
- Расширяет <errors.Error>
Указывает, что предоставленный аргумент имеет недопустимый тип. Например, передача функции параметру, ожидающему строку, будет вызывать TypeError
.
require('node:url').parse(() => {})
// Выбрасывает TypeError, поскольку ожидалась строка.
Node.js будет генерировать и выбрасывать экземпляры TypeError
немедленно в качестве формы проверки аргументов.
Исключения и ошибки
Исключение JavaScript - это значение, которое выбрасывается в результате недопустимой операции или как цель оператора throw
. Хотя не требуется, чтобы эти значения были экземплярами Error
или классов, наследующих от Error
, все исключения, выбрасываемые Node.js или средой выполнения JavaScript, будут экземплярами Error
.
Некоторые исключения являются необратимыми на уровне JavaScript. Такие исключения всегда будут приводить к сбою процесса Node.js. Примеры включают проверки assert()
или вызовы abort()
на уровне C++.
Ошибки OpenSSL
Ошибки, возникающие в crypto
или tls
, имеют класс Error
и, в дополнение к стандартным свойствам .code
и .message
, могут иметь некоторые дополнительные свойства, специфичные для OpenSSL.
error.opensslErrorStack
Массив ошибок, которые могут дать контекст о том, откуда в библиотеке OpenSSL происходит ошибка.
error.function
Функция OpenSSL, в которой возникает ошибка.
error.library
Библиотека OpenSSL, в которой возникает ошибка.
error.reason
Человекочитаемая строка, описывающая причину ошибки.
Коды ошибок Node.js
ABORT_ERR
Добавлено в: v15.0.0
Используется, когда операция была прервана (обычно с использованием AbortController
).
API, не использующие AbortSignal
, обычно не вызывают ошибку с этим кодом.
Этот код не использует обычное соглашение ERR_*
, используемое ошибками Node.js, чтобы быть совместимым с AbortError
веб-платформы.
ERR_ACCESS_DENIED
Особый тип ошибки, который срабатывает всякий раз, когда Node.js пытается получить доступ к ресурсу, ограниченному Моделью разрешений.
ERR_AMBIGUOUS_ARGUMENT
Аргумент функции используется таким образом, который указывает на возможное неправильное понимание сигнатуры функции. Это исключение возникает в модуле node:assert
, когда параметр message
в assert.throws(block, message)
совпадает с сообщением об ошибке, выброшенным block
, поскольку такое использование предполагает, что пользователь считает message
ожидаемым сообщением, а не сообщением, которое будет отображено AssertionError
, если block
не выбросит ошибку.
ERR_ARG_NOT_ITERABLE
Требовался итерируемый аргумент (то есть значение, работающее с циклами for...of
), но он не был предоставлен в API Node.js.
ERR_ASSERTION
Особый тип ошибки, который может быть вызван, когда Node.js обнаруживает исключительное нарушение логики, которое никогда не должно происходить. Обычно эти ошибки вызываются модулем node:assert
.
ERR_ASYNC_CALLBACK
Была предпринята попытка зарегистрировать что-то, что не является функцией, в качестве обратного вызова AsyncHooks
.
ERR_ASYNC_TYPE
Тип асинхронного ресурса был недействительным. Пользователи также могут определять свои собственные типы при использовании открытого API для встраивания.
ERR_BROTLI_COMPRESSION_FAILED
Данные, переданные в поток Brotli, не были успешно сжаты.
ERR_BROTLI_INVALID_PARAM
При создании потока Brotli был передан неверный ключ параметра.
ERR_BUFFER_CONTEXT_NOT_AVAILABLE
Была предпринята попытка создать экземпляр 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
Используется, когда дочерний процесс создается без указания IPC-канала.
ERR_CHILD_PROCESS_STDIO_MAXBUFFER
Используется, когда основной процесс пытается прочитать данные из STDERR/STDOUT дочернего процесса, а длина данных превышает параметр maxBuffer
.
ERR_CLOSED_MESSAGE_PORT
[История]
Версия | Изменения |
---|---|
v16.2.0, v14.17.1 | Сообщение об ошибке было возвращено. |
v11.12.0 | Сообщение об ошибке было удалено. |
v10.5.0 | Добавлено в: v10.5.0 |
Была попытка использовать экземпляр MessagePort
в закрытом состоянии, обычно после вызова .close()
.
ERR_CONSOLE_WRITABLE_STREAM
Console
был создан без потока stdout
, или Console
имеет не предназначенный для записи поток stdout
или stderr
.
ERR_CONSTRUCT_CALL_INVALID
Добавлено в: v12.5.0
Был вызван конструктор класса, который нельзя вызвать.
ERR_CONSTRUCT_CALL_REQUIRED
Конструктор класса был вызван без new
.
ERR_CONTEXT_NOT_INITIALIZED
Контекст vm, переданный в API, еще не инициализирован. Это может произойти, когда во время создания контекста возникает (и перехватывается) ошибка, например, когда не удается выделить память или при создании контекста достигается максимальный размер стека вызовов.
ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED
Был запрошен движок OpenSSL (например, через параметры TLS clientCertEngine
или privateKeyEngine
), который не поддерживается используемой версией OpenSSL, вероятно, из-за флага времени компиляции OPENSSL_NO_ENGINE
.
ERR_CRYPTO_ECDH_INVALID_FORMAT
В метод 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, но режим FIPS был недоступен.
ERR_CRYPTO_HASH_FINALIZED
hash.digest()
был вызван несколько раз. Метод hash.digest()
должен вызываться не более одного раза для каждого экземпляра объекта Hash
.
ERR_CRYPTO_HASH_UPDATE_FAILED
hash.update()
не выполнился по какой-либо причине. Это должно случаться крайне редко, если вообще когда-либо.
ERR_CRYPTO_INCOMPATIBLE_KEY
Данные криптографические ключи несовместимы с предпринятой операцией.
ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS
Выбранная кодировка открытого или закрытого ключа несовместима с другими параметрами.
ERR_CRYPTO_INITIALIZATION_FAILED
Добавлено в: v15.0.0
Инициализация криптографической подсистемы не удалась.
ERR_CRYPTO_INVALID_AUTH_TAG
Добавлено в: v15.0.0
Был предоставлен недействительный тег аутентификации.
ERR_CRYPTO_INVALID_COUNTER
Добавлено в: v15.0.0
Был предоставлен недействительный счетчик для шифра в режиме счетчика.
ERR_CRYPTO_INVALID_CURVE
Добавлено в: v15.0.0
Была предоставлена недействительная эллиптическая кривая.
ERR_CRYPTO_INVALID_DIGEST
Был указан недействительный алгоритм криптографического дайджеста.
ERR_CRYPTO_INVALID_IV
Добавлено в: v15.0.0
Был предоставлен недействительный вектор инициализации.
ERR_CRYPTO_INVALID_JWK
Добавлено в: v15.0.0
Был предоставлен недействительный JSON Web Key.
ERR_CRYPTO_INVALID_KEYLEN
Добавлено в: v15.0.0
Была предоставлена недействительная длина ключа.
ERR_CRYPTO_INVALID_KEYPAIR
Добавлено в: v15.0.0
Была предоставлена недействительная пара ключей.
ERR_CRYPTO_INVALID_KEYTYPE
Добавлено в: v15.0.0
Был предоставлен недействительный тип ключа.
ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE
Тип заданного криптографического ключевого объекта недействителен для предпринятой операции.
ERR_CRYPTO_INVALID_MESSAGELEN
Добавлено в: v15.0.0
Предоставлена недопустимая длина сообщения.
ERR_CRYPTO_INVALID_SCRYPT_PARAMS
Добавлено в: v15.0.0
Один или несколько параметров crypto.scrypt()
или crypto.scryptSync()
находятся за пределами допустимого диапазона.
ERR_CRYPTO_INVALID_STATE
Криптографический метод был использован для объекта, который находился в недопустимом состоянии. Например, вызов cipher.getAuthTag()
перед вызовом cipher.final()
.
ERR_CRYPTO_INVALID_TAG_LENGTH
Добавлено в: v15.0.0
Предоставлена недопустимая длина тега аутентификации.
ERR_CRYPTO_JOB_INIT_FAILED
Добавлено в: v15.0.0
Не удалось инициализировать асинхронную криптографическую операцию.
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
Эллиптическая кривая ключа не зарегистрирована для использования в Реестре эллиптических кривых JSON Web Key.
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
Тип асимметричного ключа не зарегистрирован для использования в Реестре типов JSON Web Key.
ERR_CRYPTO_OPERATION_FAILED
Добавлено в: v15.0.0
Криптографическая операция не удалась по какой-либо другой неуказанной причине.
ERR_CRYPTO_PBKDF2_ERROR
Алгоритм PBKDF2 не удался по неуказанным причинам. OpenSSL не предоставляет более подробной информации, поэтому Node.js тоже.
ERR_CRYPTO_SCRYPT_NOT_SUPPORTED
Node.js был скомпилирован без поддержки scrypt
. Это невозможно с официальными выпусками бинарных файлов, но может случиться с пользовательскими сборками, включая сборки дистрибутивов.
ERR_CRYPTO_SIGN_KEY_REQUIRED
Не был предоставлен key
для подписи в метод sign.sign()
.
ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH
crypto.timingSafeEqual()
был вызван с аргументами Buffer
, TypedArray
или DataView
разной длины.
ERR_CRYPTO_UNKNOWN_CIPHER
Был указан неизвестный шифр.
ERR_CRYPTO_UNKNOWN_DH_GROUP
Было дано неизвестное имя группы Диффи-Хеллмана. См. crypto.getDiffieHellman()
для списка допустимых имен групп.
ERR_CRYPTO_UNSUPPORTED_OPERATION
Добавлено в: v15.0.0, v14.18.0
Была предпринята попытка вызвать неподдерживаемую криптографическую операцию.
ERR_DEBUGGER_ERROR
Добавлено в: v16.4.0, v14.17.4
Произошла ошибка с отладчиком.
ERR_DEBUGGER_STARTUP_ERROR
Добавлено в: v16.4.0, v14.17.4
Отладчик не дождался освобождения требуемого хоста/порта.
ERR_DIR_CLOSED
fs.Dir
был ранее закрыт.
ERR_DIR_CONCURRENT_OPERATION
Добавлено в: v14.3.0
Была предпринята попытка синхронного вызова чтения или закрытия для fs.Dir
, у которого есть выполняющиеся асинхронные операции.
ERR_DLOPEN_DISABLED
Добавлено в: v16.10.0, v14.19.0
Загрузка нативных дополнений была отключена с помощью --no-addons
.
ERR_DLOPEN_FAILED
Добавлено в: v15.0.0
Вызов process.dlopen()
завершился неудачно.
ERR_DNS_SET_SERVERS_FAILED
c-ares
не удалось установить DNS-сервер.
ERR_DOMAIN_CALLBACK_NOT_AVAILABLE
Модуль node:domain
не мог быть использован, поскольку он не мог установить необходимые перехватчики обработки ошибок, потому что process.setUncaughtExceptionCaptureCallback()
был вызван ранее.
ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE
process.setUncaughtExceptionCaptureCallback()
не может быть вызван, поскольку модуль node:domain
был загружен ранее.
Трассировка стека расширяется, чтобы включить момент времени, когда был загружен модуль node:domain
.
ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION
v8.startupSnapshot.setDeserializeMainFunction()
не мог быть вызван, потому что он уже был вызван ранее.
ERR_ENCODING_INVALID_ENCODED_DATA
Данные, предоставленные API TextDecoder()
, были недействительными в соответствии с предоставленной кодировкой.
ERR_ENCODING_NOT_SUPPORTED
Кодировка, предоставленная API TextDecoder()
, не была одной из поддерживаемых WHATWG кодировок.
ERR_EVAL_ESM_CANNOT_PRINT
--print
нельзя использовать с вводом ESM.
ERR_EVENT_RECURSION
Выбрасывается при попытке рекурсивно отправить событие в EventTarget
.
ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE
Контекст выполнения JS не связан со средой Node.js. Это может произойти, когда Node.js используется как встроенная библиотека, и некоторые хуки для движка JS настроены неправильно.
ERR_FALSY_VALUE_REJECTION
Promise
, который был преобразован в обратный вызов через util.callbackify()
, был отклонен с ложным значением.
ERR_FEATURE_UNAVAILABLE_ON_PLATFORM
Добавлено в: v14.0.0
Используется, когда используется функция, недоступная для текущей платформы, на которой работает Node.js.
ERR_FS_CP_DIR_TO_NON_DIR
Добавлено в: v16.7.0
Предпринята попытка скопировать каталог в не каталог (файл, символическую ссылку и т. д.) с помощью fs.cp()
.
ERR_FS_CP_EEXIST
Добавлено в: v16.7.0
Была предпринята попытка скопировать поверх уже существующего файла с помощью fs.cp()
, при этом для force
и errorOnExist
установлено значение true
.
ERR_FS_CP_EINVAL
Добавлено в: v16.7.0
При использовании fs.cp()
src
или dest
указывали на недопустимый путь.
ERR_FS_CP_FIFO_PIPE
Добавлено в: v16.7.0
Предпринята попытка скопировать именованный канал с помощью fs.cp()
.
ERR_FS_CP_NON_DIR_TO_DIR
Добавлено в: v16.7.0
Предпринята попытка скопировать не каталог (файл, символическую ссылку и т. д.) в каталог с помощью fs.cp()
.
ERR_FS_CP_SOCKET
Добавлено в: v16.7.0
Предпринята попытка скопировать в сокет с помощью fs.cp()
.
ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY
Добавлено в: v16.7.0
При использовании fs.cp()
, символическая ссылка в dest
указывала на подкаталог src
.
ERR_FS_CP_UNKNOWN
Добавлено в: v16.7.0
Была предпринята попытка скопировать в неизвестный тип файла с помощью fs.cp()
.
ERR_FS_EISDIR
Путь является каталогом.
ERR_FS_FILE_TOO_LARGE
Предпринята попытка чтения файла, размер которого превышает максимально допустимый размер для Buffer
.
ERR_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 Streams нельзя открывать после того, как Http2Session
получил фрейм GOAWAY
от подключенного пира.
ERR_HTTP2_HEADERS_AFTER_RESPOND
Дополнительные заголовки были указаны после инициации ответа HTTP/2.
ERR_HTTP2_HEADERS_SENT
Была предпринята попытка отправить несколько заголовков ответа.
ERR_HTTP2_HEADER_SINGLE_VALUE
Для поля заголовка HTTP/2, которое должно было иметь только одно значение, было предоставлено несколько значений.
ERR_HTTP2_INFO_STATUS_NOT_ALLOWED
Информационные коды состояния HTTP (1xx
) не могут быть установлены в качестве кода состояния ответа в ответах HTTP/2.
ERR_HTTP2_INVALID_CONNECTION_HEADERS
Заголовки, специфичные для соединения HTTP/1, запрещено использовать в HTTP/2 запросах и ответах.
ERR_HTTP2_INVALID_HEADER_VALUE
Указано недействительное значение заголовка HTTP/2.
ERR_HTTP2_INVALID_INFO_STATUS
Указан недопустимый информационный код состояния HTTP. Информационные коды состояния должны быть целыми числами от 100
до 199
(включительно).
ERR_HTTP2_INVALID_ORIGIN
Фреймы HTTP/2 ORIGIN
требуют допустимый источник.
ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH
Экземпляры Buffer
и Uint8Array
, переданные в API http2.getUnpackedSettings()
, должны иметь длину, кратную шести.
ERR_HTTP2_INVALID_PSEUDOHEADER
Могут использоваться только допустимые псевдозаголовки HTTP/2 (:status
, :path
, :authority
, :scheme
и :method
).
ERR_HTTP2_INVALID_SESSION
Было выполнено действие с объектом Http2Session
, который уже был уничтожен.
ERR_HTTP2_INVALID_SETTING_VALUE
Указано недопустимое значение для параметра HTTP/2.
ERR_HTTP2_INVALID_STREAM
Операция была выполнена с потоком, который уже был уничтожен.
ERR_HTTP2_MAX_PENDING_SETTINGS_ACK
Всякий раз, когда фрейм 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
ограничены длиной в 16382 байта.
ERR_HTTP2_OUT_OF_STREAMS
Количество потоков, созданных в одном сеансе HTTP/2, достигло максимального предела.
ERR_HTTP2_PAYLOAD_FORBIDDEN
Была указана полезная нагрузка сообщения для кода ответа HTTP, для которого полезная нагрузка запрещена.
ERR_HTTP2_PING_CANCEL
HTTP/2 ping был отменен.
ERR_HTTP2_PING_LENGTH
Полезные данные HTTP/2 ping должны быть ровно 8 байт в длину.
ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED
Псевдозаголовок HTTP/2 был использован ненадлежащим образом. Псевдозаголовки - это имена ключей заголовков, которые начинаются с префикса :
.
ERR_HTTP2_PUSH_DISABLED
Была предпринята попытка создать push-поток, который был отключен клиентом.
ERR_HTTP2_SEND_FILE
Была предпринята попытка использовать API Http2Stream.prototype.responseWithFile()
для отправки каталога.
ERR_HTTP2_SEND_FILE_NOSEEK
Была предпринята попытка использовать API Http2Stream.prototype.responseWithFile()
для отправки чего-либо, кроме обычного файла, но были предоставлены параметры offset
или length
.
ERR_HTTP2_SESSION_ERROR
Http2Session
закрылся с ненулевым кодом ошибки.
ERR_HTTP2_SETTINGS_CANCEL
Настройки Http2Session
были отменены.
ERR_HTTP2_SOCKET_BOUND
Была предпринята попытка подключить объект Http2Session
к net.Socket
или tls.TLSSocket
, который уже был привязан к другому объекту Http2Session
.
ERR_HTTP2_SOCKET_UNBOUND
Была предпринята попытка использовать свойство socket
объекта Http2Session
, который уже был закрыт.
ERR_HTTP2_STATUS_101
Использование информационного кода статуса 101
запрещено в HTTP/2.
ERR_HTTP2_STATUS_INVALID
Был указан недействительный HTTP-код статуса. Коды состояния должны быть целым числом от 100
до 599
(включительно).
ERR_HTTP2_STREAM_CANCEL
Http2Stream
был уничтожен до того, как какие-либо данные были переданы подключенному пиру.
ERR_HTTP2_STREAM_ERROR
В кадре RST_STREAM
был указан ненулевой код ошибки.
ERR_HTTP2_STREAM_SELF_DEPENDENCY
При установке приоритета для потока HTTP/2 поток может быть помечен как зависимость для родительского потока. Этот код ошибки используется, когда предпринимается попытка пометить поток как зависимый от самого себя.
ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS
Превышено количество поддерживаемых пользовательских настроек (10).
ERR_HTTP2_TOO_MANY_INVALID_FRAMES
Добавлено в: v15.14.0
Превышен лимит допустимых недействительных фреймов протокола HTTP/2, отправленных пиром, как указано в опции maxSessionInvalidFrames
.
ERR_HTTP2_TRAILERS_ALREADY_SENT
Трейлинговые заголовки уже отправлены в Http2Stream
.
ERR_HTTP2_TRAILERS_NOT_READY
Метод http2stream.sendTrailers()
не может быть вызван до тех пор, пока на объекте Http2Stream
не будет сгенерировано событие 'wantTrailers'
. Событие 'wantTrailers'
будет сгенерировано только в том случае, если для Http2Stream
установлена опция waitForTrailers
.
ERR_HTTP2_UNSUPPORTED_PROTOCOL
В http2.connect()
был передан URL-адрес, использующий любой протокол, отличный от http:
или https:
.
ERR_HTTP_BODY_NOT_ALLOWED
Ошибка возникает при записи в HTTP-ответ, который не допускает содержимое.
ERR_HTTP_CONTENT_LENGTH_MISMATCH
Размер тела ответа не соответствует указанному значению заголовка content-length.
ERR_HTTP_HEADERS_SENT
Была предпринята попытка добавить заголовки после того, как заголовки уже были отправлены.
ERR_HTTP_INVALID_HEADER_VALUE
Указано недействительное значение HTTP-заголовка.
ERR_HTTP_INVALID_STATUS_CODE
Код состояния находился за пределами обычного диапазона кодов состояния (100-999).
ERR_HTTP_REQUEST_TIMEOUT
Клиент не отправил весь запрос в течение отведенного времени.
ERR_HTTP_SOCKET_ASSIGNED
Указанному ServerResponse
уже был назначен сокет.
ERR_HTTP_SOCKET_ENCODING
Изменение кодировки сокета не разрешено согласно RFC 7230 Section 3.
ERR_HTTP_TRAILER_INVALID
Заголовок Trailer
был установлен, несмотря на то, что кодировка передачи это не поддерживает.
ERR_ILLEGAL_CONSTRUCTOR
Была предпринята попытка создать объект, используя непубличный конструктор.
ERR_IMPORT_ATTRIBUTE_MISSING
Добавлено в: v21.1.0
Отсутствует атрибут импорта, что не позволяет импортировать указанный модуль.
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
Добавлено в: v21.1.0
Был предоставлен атрибут type
импорта, но указанный модуль имеет другой тип.
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
Добавлено в: v21.0.0, v20.10.0, v18.19.0
Атрибут импорта не поддерживается этой версией Node.js.
ERR_INCOMPATIBLE_OPTION_PAIR
Пара параметров несовместима друг с другом и не может использоваться одновременно.
ERR_INPUT_TYPE_NOT_ALLOWED
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1 - Экспериментально
Флаг --input-type
был использован для попытки выполнения файла. Этот флаг можно использовать только с вводом через --eval
, --print
или STDIN
.
ERR_INSPECTOR_ALREADY_ACTIVATED
При использовании модуля node:inspector
была предпринята попытка активировать инспектор, когда он уже начал прослушивание порта. Используйте inspector.close()
, прежде чем активировать его по другому адресу.
ERR_INSPECTOR_ALREADY_CONNECTED
При использовании модуля node:inspector
была предпринята попытка подключения, когда инспектор уже был подключен.
ERR_INSPECTOR_CLOSED
При использовании модуля node:inspector
была предпринята попытка использовать инспектор после того, как сеанс уже был закрыт.
ERR_INSPECTOR_COMMAND
Произошла ошибка при выполнении команды через модуль node:inspector
.
ERR_INSPECTOR_NOT_ACTIVE
Инспектор не активен, когда вызывается inspector.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. Чтобы исправить ошибку, откройте issue на https://github.com/nodejs/node/issues.
ERR_INVALID_ADDRESS
Предоставленный адрес не распознан API Node.js.
ERR_INVALID_ADDRESS_FAMILY
Предоставленное семейство адресов не распознано API Node.js.
ERR_INVALID_ARG_TYPE
В API Node.js был передан аргумент неправильного типа.
ERR_INVALID_ARG_VALUE
Для данного аргумента было передано недействительное или неподдерживаемое значение.
ERR_INVALID_ASYNC_ID
Был передан недопустимый asyncId
или triggerAsyncId
с использованием AsyncHooks
. Идентификатор меньше -1 никогда не должен возникать.
ERR_INVALID_BUFFER_SIZE
Операция обмена была выполнена с Buffer
, но его размер не был совместим с операцией.
ERR_INVALID_CHAR
В заголовках были обнаружены недопустимые символы.
ERR_INVALID_CURSOR_POS
Курсор в данном потоке не может быть перемещен в указанную строку без указанного столбца.
ERR_INVALID_FD
Дескриптор файла ('fd') был недействительным (например, имел отрицательное значение).
ERR_INVALID_FD_TYPE
Тип дескриптора файла ('fd') был недействительным.
ERR_INVALID_FILE_URL_HOST
API Node.js, который использует URL-адреса file:
(например, определенные функции в модуле fs
), обнаружил URL-адрес файла с несовместимым хостом. Эта ситуация может возникнуть только в Unix-подобных системах, где поддерживается только localhost
или пустой хост.
ERR_INVALID_FILE_URL_PATH
API Node.js, который использует URL-адреса file:
(например, определенные функции в модуле fs
), обнаружил URL-адрес файла с несовместимым путем. Точная семантика определения возможности использования пути зависит от платформы.
ERR_INVALID_HANDLE_TYPE
Была предпринята попытка отправить неподдерживаемый "handle" по каналу IPC-связи дочернему процессу. Для получения дополнительной информации см. subprocess.send()
и process.send()
.
ERR_INVALID_HTTP_TOKEN
Был предоставлен недопустимый HTTP-токен.
ERR_INVALID_IP_ADDRESS
IP-адрес недействителен.
ERR_INVALID_MIME_SYNTAX
Синтаксис MIME является недействительным.
ERR_INVALID_MODULE
Добавлено в: v15.0.0, v14.18.0
Была предпринята попытка загрузить модуль, который не существует или по какой-либо другой причине является недействительным.
ERR_INVALID_MODULE_SPECIFIER
Строка импортированного модуля является недопустимым URL, именем пакета или спецификатором подпути пакета.
ERR_INVALID_OBJECT_DEFINE_PROPERTY
Произошла ошибка при установке недопустимого атрибута для свойства объекта.
ERR_INVALID_PACKAGE_CONFIG
Не удалось проанализировать недействительный файл package.json
.
ERR_INVALID_PACKAGE_TARGET
Поле "exports"
файла package.json
содержит недействительное целевое значение сопоставления для предпринятого разрешения модуля.
ERR_INVALID_PROTOCOL
Недопустимый options.protocol
был передан в http.request()
.
ERR_INVALID_REPL_EVAL_CONFIG
Оба параметра breakEvalOnSigint
и eval
были установлены в конфигурации REPL
, что не поддерживается.
ERR_INVALID_REPL_INPUT
Этот ввод не может быть использован в REPL
. Условия, при которых используется эта ошибка, описаны в документации REPL
.
ERR_INVALID_RETURN_PROPERTY
Выбрасывается в случае, если параметр функции не предоставляет допустимого значения для одного из своих возвращаемых свойств объекта при выполнении.
ERR_INVALID_RETURN_PROPERTY_VALUE
Выбрасывается в случае, если параметр функции не предоставляет ожидаемого типа значения для одного из своих возвращаемых свойств объекта при выполнении.
ERR_INVALID_RETURN_VALUE
Выбрасывается в случае, если параметр функции не возвращает ожидаемый тип значения при выполнении, например, когда ожидается, что функция вернет promise.
ERR_INVALID_STATE
Добавлено в: v15.0.0
Указывает, что операция не может быть завершена из-за недействительного состояния. Например, объект, возможно, уже был уничтожен или может выполнять другую операцию.
ERR_INVALID_SYNC_FORK_INPUT
Buffer
, TypedArray
, DataView
или string
были предоставлены в качестве stdio-ввода для асинхронного fork. См. документацию модуля child_process
для получения дополнительной информации.
ERR_INVALID_THIS
Функция API Node.js была вызвана с несовместимым значением this
.
const urlSearchParams = new URLSearchParams('foo=bar&baz=new')
const buf = Buffer.alloc(1)
urlSearchParams.has.call(buf, 'foo')
// Выбрасывает TypeError с кодом 'ERR_INVALID_THIS'
ERR_INVALID_TUPLE
Элемент в iterable
, предоставленном WHATWG конструктору URLSearchParams
, не представлял собой кортеж [name, value]
– то есть, если элемент не является итерируемым или не состоит ровно из двух элементов.
ERR_INVALID_TYPESCRIPT_SYNTAX
Добавлено в: v23.0.0
Предоставленный синтаксис TypeScript является недействительным или неподдерживаемым. Это может произойти при использовании синтаксиса TypeScript, который требует преобразования с помощью удаления типов.
ERR_INVALID_URI
Передан неверный URI.
ERR_INVALID_URL
Неверный URL был передан WHATWG конструктору URL
или устаревшему url.parse()
для разбора. Выброшенная ошибка обычно имеет дополнительное свойство 'input'
, которое содержит URL, который не удалось разобрать.
ERR_INVALID_URL_SCHEME
Была предпринята попытка использовать URL несовместимой схемы (протокола) для конкретной цели. Он используется только в поддержке WHATWG URL API в модуле fs
(который принимает только URL со схемой 'file'
), но может использоваться и в других API Node.js в будущем.
ERR_IPC_CHANNEL_CLOSED
Была предпринята попытка использовать канал связи IPC, который уже был закрыт.
ERR_IPC_DISCONNECTED
Была предпринята попытка отключить канал связи IPC, который уже был отключен. Дополнительную информацию см. в документации по модулю child_process
.
ERR_IPC_ONE_PIPE
Была предпринята попытка создать дочерний процесс Node.js с использованием более одного канала связи IPC. Дополнительную информацию см. в документации по модулю child_process
.
ERR_IPC_SYNC_FORK
Была предпринята попытка открыть канал связи IPC с синхронно разветвленным процессом Node.js. Дополнительную информацию см. в документации к модулю child_process
.
ERR_IP_BLOCKED
IP-адрес заблокирован net.BlockList
.
ERR_LOADER_CHAIN_INCOMPLETE
Добавлено в: v18.6.0, v16.17.0
Хук загрузчика ESM вернулся, не вызвав next()
и не сигнализировав явно о коротком замыкании.
ERR_LOAD_SQLITE_EXTENSION
Добавлено в: v23.5.0
Произошла ошибка при загрузке расширения SQLite.
ERR_MEMORY_ALLOCATION_FAILED
Была предпринята попытка выделить память (обычно на уровне C++), но она не удалась.
ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE
Добавлено в: v14.5.0, v12.19.0
Сообщение, отправленное в MessagePort
, не удалось десериализовать в целевом vm Context
. Не все объекты Node.js могут быть успешно инстанциированы в любом контексте в настоящее время, и попытка их передачи с помощью postMessage()
может завершиться неудачей на принимающей стороне в этом случае.
ERR_METHOD_NOT_IMPLEMENTED
Метод требуется, но не реализован.
ERR_MISSING_ARGS
Обязательный аргумент API Node.js не был передан. Это используется только для строгого соответствия спецификации API (которая в некоторых случаях может принимать func(undefined)
, но не func()
). В большинстве собственных API Node.js func(undefined)
и func()
обрабатываются идентично, и вместо этого может использоваться код ошибки ERR_INVALID_ARG_TYPE
.
ERR_MISSING_OPTION
Для API, которые принимают объекты параметров, некоторые параметры могут быть обязательными. Этот код выдается, если обязательный параметр отсутствует.
ERR_MISSING_PASSPHRASE
Была предпринята попытка прочитать зашифрованный ключ без указания парольной фразы.
ERR_MISSING_PLATFORM_FOR_WORKER
Платформа V8, используемая данным экземпляром Node.js, не поддерживает создание воркеров. Это вызвано отсутствием поддержки воркеров со стороны встраивателя. В частности, эта ошибка не возникнет при стандартных сборках Node.js.
ERR_MODULE_NOT_FOUND
Модульный файл не удалось разрешить с помощью загрузчика модулей ECMAScript при попытке операции import
или при загрузке точки входа программы.
ERR_MULTIPLE_CALLBACK
Обратный вызов был вызван более одного раза.
Обратный вызов почти всегда должен вызываться только один раз, поскольку запрос может быть либо выполнен, либо отклонен, но не оба одновременно. Последнее было бы возможно, если бы обратный вызов был вызван более одного раза.
ERR_NAPI_CONS_FUNCTION
При использовании Node-API
переданный конструктор не был функцией.
ERR_NAPI_INVALID_DATAVIEW_ARGS
При вызове napi_create_dataview()
заданный offset
был за пределами границ просмотра данных или offset + length
был больше длины заданного buffer
.
ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT
При вызове napi_create_typedarray()
предоставленный offset
не был кратен размеру элемента.
ERR_NAPI_INVALID_TYPEDARRAY_LENGTH
При вызове napi_create_typedarray()
значение (length * size_of_element) + byte_offset
было больше длины заданного buffer
.
ERR_NAPI_TSFN_CALL_JS
Произошла ошибка при вызове JavaScript-части потокобезопасной функции.
ERR_NAPI_TSFN_GET_UNDEFINED
Произошла ошибка при попытке получить JavaScript-значение undefined
.
ERR_NON_CONTEXT_AWARE_DISABLED
Неконтекстно-зависимый собственный аддон был загружен в процессе, который их запрещает.
ERR_NOT_BUILDING_SNAPSHOT
Была предпринята попытка использовать операции, которые могут использоваться только при создании моментального снимка запуска V8, хотя Node.js его не создает.
ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION
Добавлено в: v21.7.0, v20.12.0
Операция не может быть выполнена, если она не выполняется в автономном исполняемом приложении.
ERR_NOT_SUPPORTED_IN_SNAPSHOT
Была предпринята попытка выполнить операции, которые не поддерживаются при создании моментального снимка запуска.
ERR_NO_CRYPTO
Была предпринята попытка использовать криптографические функции, в то время как Node.js не был скомпилирован с поддержкой OpenSSL crypto.
ERR_NO_ICU
Была предпринята попытка использовать функции, требующие ICU, но Node.js был скомпилирован без поддержки ICU.
ERR_NO_TYPESCRIPT
Добавлено в: v23.0.0
Была предпринята попытка использовать функции, требующие нативной поддержки TypeScript, но Node.js был скомпилирован без поддержки TypeScript.
ERR_OPERATION_FAILED
Добавлено в: v15.0.0
Операция не удалась. Обычно используется для сигнализации общего сбоя асинхронной операции.
ERR_OUT_OF_RANGE
Заданное значение выходит за пределы допустимого диапазона.
ERR_PACKAGE_IMPORT_NOT_DEFINED
Поле package.json
"imports"
не определяет данное сопоставление внутреннего спецификатора пакета.
ERR_PACKAGE_PATH_NOT_EXPORTED
Поле package.json
"exports"
не экспортирует запрошенный подпуть. Поскольку экспорты инкапсулированы, частные внутренние модули, которые не экспортируются, не могут быть импортированы через разрешение пакета, если не используется абсолютный URL-адрес.
ERR_PARSE_ARGS_INVALID_OPTION_VALUE
Добавлено в: v18.3.0, v16.17.0
Если strict
установлено в true
, выбрасывается util.parseArgs()
, если значение <boolean> предоставлено для параметра типа <string>, или если значение <string> предоставлено для параметра типа <boolean>.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
Добавлено в: v18.3.0, v16.17.0
Выбрасывается util.parseArgs()
, когда предоставляется позиционный аргумент, а allowPositionals
установлено в false
.
ERR_PARSE_ARGS_UNKNOWN_OPTION
Добавлено в: v18.3.0, v16.17.0
Если strict
установлено в true
, выбрасывается util.parseArgs()
, если аргумент не настроен в options
.
ERR_PERFORMANCE_INVALID_TIMESTAMP
Недопустимое значение метки времени было предоставлено для отметки производительности или измерения.
ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS
Недопустимые параметры были предоставлены для измерения производительности.
ERR_PROTO_ACCESS
Доступ к Object.prototype.__proto__
был запрещен с помощью --disable-proto=throw
. Object.getPrototypeOf
и Object.setPrototypeOf
следует использовать для получения и установки прототипа объекта.
ERR_QUIC_APPLICATION_ERROR
Добавлено в: v23.4.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Произошла ошибка приложения QUIC.
ERR_QUIC_CONNECTION_FAILED
Добавлено в: v23.0.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Не удалось установить QUIC-соединение.
ERR_QUIC_ENDPOINT_CLOSED
Добавлено в: v23.0.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Конечная точка QUIC закрыта с ошибкой.
ERR_QUIC_OPEN_STREAM_FAILED
Добавлено в: v23.0.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Не удалось открыть поток QUIC.
ERR_QUIC_TRANSPORT_ERROR
Добавлено в: v23.4.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Произошла ошибка транспорта QUIC.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
Добавлено в: v23.4.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1 - Экспериментально
Сеанс QUIC не удался, поскольку требуется согласование версий.
ERR_REQUIRE_ASYNC_MODULE
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1 - Экспериментально
При попытке require()
ES Module, модуль оказывается асинхронным. То есть, он содержит await верхнего уровня.
Чтобы увидеть, где находится await верхнего уровня, используйте --experimental-print-required-tla
(это приведет к выполнению модулей перед поиском await верхнего уровня).
ERR_REQUIRE_CYCLE_MODULE
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1 - Экспериментально
При попытке require()
ES Module, переход CommonJS в ESM или ESM в CommonJS участвует в немедленном цикле. Это недопустимо, поскольку ES Modules не могут быть вычислены, когда они уже вычисляются.
Чтобы избежать цикла, вызов require()
, участвующий в цикле, не должен происходить на верхнем уровне ни модуля ES (через createRequire()
), ни модуля CommonJS, и должен выполняться лениво во внутренней функции.
ERR_REQUIRE_ESM
[История]
Версия | Изменения |
---|---|
v23.0.0 | require() теперь по умолчанию поддерживает загрузку синхронных ES-модулей. |
[Stable: 0 - Deprecated]
Stable: 0 Стабильность: 0 - Устарело
Была предпринята попытка require()
ES Module.
Эта ошибка устарела, поскольку require()
теперь поддерживает загрузку синхронных ES-модулей. Когда require()
обнаруживает ES-модуль, содержащий await
верхнего уровня, он вместо этого выдаст ошибку ERR_REQUIRE_ASYNC_MODULE
.
ERR_SCRIPT_EXECUTION_INTERRUPTED
Выполнение скрипта было прервано сигналом SIGINT
(например, было нажато +).
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
, включая экземпляры Server
HTTP, HTTPS и HTTP/2.
ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND
Добавлено в: v21.7.0, v20.12.0
К API единого исполняемого приложения был передан ключ для идентификации ресурса, но совпадений не найдено.
ERR_SOCKET_ALREADY_BOUND
Была предпринята попытка привязать сокет, который уже привязан.
ERR_SOCKET_BAD_BUFFER_SIZE
Недопустимый (отрицательный) размер был передан для параметров recvBufferSize
или sendBufferSize
в dgram.createSocket()
.
ERR_SOCKET_BAD_PORT
Функция API, ожидающая порт >= 0 и < 65536, получила недопустимое значение.
ERR_SOCKET_BAD_TYPE
Функция API, ожидающая тип сокета (udp4
или udp6
), получила недопустимое значение.
ERR_SOCKET_BUFFER_SIZE
При использовании dgram.createSocket()
не удалось определить размер принимающего или отправляющего Buffer
.
ERR_SOCKET_CLOSED
Была предпринята попытка выполнить операцию с уже закрытым сокетом.
ERR_SOCKET_CLOSED_BEFORE_CONNECTION
При вызове net.Socket.write()
на подключающемся сокете и сокет был закрыт до установления соединения.
ERR_SOCKET_CONNECTION_TIMEOUT
Сокет не смог подключиться ни к одному адресу, возвращенному DNS, в течение разрешенного таймаута при использовании алгоритма автоматического выбора семейства.
ERR_SOCKET_DGRAM_IS_CONNECTED
Вызов dgram.connect()
был сделан для уже подключенного сокета.
ERR_SOCKET_DGRAM_NOT_CONNECTED
Вызов dgram.disconnect()
или dgram.remoteAddress()
был сделан для отключенного сокета.
ERR_SOCKET_DGRAM_NOT_RUNNING
Был сделан вызов, и подсистема UDP не работала.
ERR_SOURCE_MAP_CORRUPT
Исходная карта не может быть проанализирована, так как она не существует или повреждена.
ERR_SOURCE_MAP_MISSING_SOURCE
Файл, импортированный из исходной карты, не найден.
ERR_SQLITE_ERROR
Добавлено в: v22.5.0
Ошибка, возвращенная из SQLite.
ERR_SRI_PARSE
Для проверки целостности подресурсов была предоставлена строка, которую не удалось проанализировать. Проверьте формат атрибутов целостности, ознакомившись со спецификацией целостности подресурсов.
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_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')
ERR_STREAM_WRITE_AFTER_END
Была предпринята попытка вызова stream.write()
после вызова stream.end()
.
ERR_STRING_TOO_LONG
Была предпринята попытка создать строку, длина которой превышает максимально допустимую.
ERR_SYNTHETIC
Искусственный объект ошибки, используемый для захвата стека вызовов для диагностических отчетов.
ERR_SYSTEM_ERROR
В процессе Node.js произошла неспецифическая или неопределенная системная ошибка. Объект ошибки будет иметь свойство объекта err.info
с дополнительными подробностями.
ERR_TAP_LEXER_ERROR
Ошибка, представляющая собой неудачное состояние лексера.
ERR_TAP_PARSER_ERROR
Ошибка, представляющая собой неудачное состояние парсера. Дополнительная информация о токене, вызвавшем ошибку, доступна через свойство cause
.
ERR_TAP_VALIDATION_ERROR
Эта ошибка представляет собой неудачную проверку TAP.
ERR_TEST_FAILURE
Эта ошибка представляет собой неудачный тест. Дополнительная информация о неудаче доступна через свойство cause
. Свойство failureType
указывает, что именно тест делал, когда произошла ошибка.
ERR_TLS_ALPN_CALLBACK_INVALID_RESULT
Эта ошибка возникает, когда ALPNCallback
возвращает значение, отсутствующее в списке протоколов ALPN, предложенных клиентом.
ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS
Эта ошибка возникает при создании TLSServer
, если параметры TLS включают как ALPNProtocols
, так и ALPNCallback
. Эти параметры являются взаимоисключающими.
ERR_TLS_CERT_ALTNAME_FORMAT
Эта ошибка возникает в checkServerIdentity
, если предоставленное пользователем свойство subjectaltname
нарушает правила кодирования. Объекты сертификатов, созданные самим Node.js, всегда соответствуют правилам кодирования и никогда не вызывают эту ошибку.
ERR_TLS_CERT_ALTNAME_INVALID
При использовании TLS имя хоста/IP узла не совпадало ни с одним из subjectAltNames
в его сертификате.
ERR_TLS_DH_PARAM_SIZE
При использовании TLS параметр, предложенный для протокола согласования ключей Диффи-Хеллмана (DH
), слишком мал. По умолчанию длина ключа должна быть больше или равна 1024 битам, чтобы избежать уязвимостей, хотя настоятельно рекомендуется использовать 2048 битов или больше для большей безопасности.
ERR_TLS_HANDSHAKE_TIMEOUT
Время ожидания подтверждения TLS/SSL-соединения истекло. В этом случае сервер также должен прервать соединение.
ERR_TLS_INVALID_CONTEXT
Добавлено в: v13.3.0
Контекст должен быть SecureContext
.
ERR_TLS_INVALID_PROTOCOL_METHOD
Указанный метод secureProtocol
является недопустимым. Он либо неизвестен, либо отключен как небезопасный.
ERR_TLS_INVALID_PROTOCOL_VERSION
Допустимые версии протокола TLS: 'TLSv1'
, 'TLSv1.1'
, или 'TLSv1.2'
.
ERR_TLS_INVALID_STATE
Добавлено в: v13.10.0, v12.17.0
Сокет TLS должен быть подключен и безопасно установлен. Убедитесь, что событие 'secure' было сгенерировано перед продолжением.
ERR_TLS_PROTOCOL_VERSION_CONFLICT
Попытка установить протокол TLS minVersion
или maxVersion
конфликтует с попыткой явной установки secureProtocol
. Используйте один из механизмов.
ERR_TLS_PSK_SET_IDENTITY_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
Была предпринята попытка выдать индикацию имени сервера (SNI) из сокета TLS на стороне сервера, что допустимо только со стороны клиента.
ERR_TRACE_EVENTS_CATEGORY_REQUIRED
Метод trace_events.createTracing()
требует как минимум одну категорию событий трассировки.
ERR_TRACE_EVENTS_UNAVAILABLE
Модуль node:trace_events
не удалось загрузить, поскольку Node.js был скомпилирован с флагом --without-v8-platform
.
ERR_TRANSFORM_ALREADY_TRANSFORMING
Поток Transform
завершился, когда он еще находился в процессе преобразования.
ERR_TRANSFORM_WITH_LENGTH_0
Поток Transform
завершился с данными, все еще находящимися в буфере записи.
ERR_TTY_INIT_FAILED
Инициализация TTY не удалась из-за системной ошибки.
ERR_UNAVAILABLE_DURING_EXIT
Функция была вызвана внутри обработчика process.on('exit')
, который не должен вызываться внутри обработчика process.on('exit')
.
ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
process.setUncaughtExceptionCaptureCallback()
был вызван дважды, без предварительного сброса обратного вызова в null
.
Эта ошибка предназначена для предотвращения случайной перезаписи обратного вызова, зарегистрированного из другого модуля.
ERR_UNESCAPED_CHARACTERS
Была получена строка, содержащая неэкранированные символы.
ERR_UNHANDLED_ERROR
Произошла необработанная ошибка (например, когда событие 'error'
испускается EventEmitter
, но обработчик 'error'
не зарегистрирован).
ERR_UNKNOWN_BUILTIN_MODULE
Используется для идентификации определенного вида внутренней ошибки Node.js, которая обычно не должна вызываться пользовательским кодом. Экземпляры этой ошибки указывают на внутреннюю ошибку в самом бинарном файле Node.js.
ERR_UNKNOWN_CREDENTIAL
Был передан идентификатор группы или пользователя Unix, который не существует.
ERR_UNKNOWN_ENCODING
Недопустимый или неизвестный параметр кодировки был передан в API.
ERR_UNKNOWN_FILE_EXTENSION
[Стабильность: 1 - Экспериментальный]
Стабильность: 1 Стабильность: 1 - Экспериментальный
Была предпринята попытка загрузить модуль с неизвестным или неподдерживаемым расширением файла.
ERR_UNKNOWN_MODULE_FORMAT
[Стабильность: 1 - Экспериментальный]
Стабильность: 1 Стабильность: 1 - Экспериментальный
Была предпринята попытка загрузить модуль с неизвестным или неподдерживаемым форматом.
ERR_UNKNOWN_SIGNAL
Недопустимый или неизвестный сигнал процесса был передан API, ожидающему допустимый сигнал (например, subprocess.kill()
).
ERR_UNSUPPORTED_DIR_IMPORT
import
URL-адреса каталога не поддерживается. Вместо этого самостоятельно ссылайтесь на пакет, используя его имя и определите пользовательский подпуть в поле "exports"
файла package.json
.
import './' // не поддерживается
import './index.js' // поддерживается
import 'package-name' // поддерживается
ERR_UNSUPPORTED_ESM_URL_SCHEME
import
со схемами URL, отличными от file
и data
, не поддерживается.
ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
Добавлено в: v22.6.0
Удаление типов не поддерживается для файлов, являющихся потомками каталога node_modules
.
ERR_UNSUPPORTED_RESOLVE_REQUEST
Предпринята попытка разрешить недействительную ссылку на модуль. Это может произойти при импорте или вызове import.meta.resolve()
с:
- пустым спецификатором, который не является встроенным модулем из модуля, схема URL которого не
file
. - относительным URL из модуля, схема URL которого не является специальной схемой.
try {
// Попытка импортировать пакет 'bare-specifier' из модуля с URL-адресом `data:`:
await import('data:text/javascript,import "bare-specifier"')
} catch (e) {
console.log(e.code) // ERR_UNSUPPORTED_RESOLVE_REQUEST
}
ERR_USE_AFTER_CLOSE
[Стабильность: 1 - Экспериментальный]
Стабильность: 1 Стабильность: 1 - Экспериментальный
Предпринята попытка использовать что-то, что уже было закрыто.
ERR_VALID_PERFORMANCE_ENTRY_TYPE
При использовании API Performance Timing (perf_hooks
) не найдены допустимые типы записей производительности.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
Не указана обратная связь для динамического импорта.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG
Обратная связь для динамического импорта была вызвана без --experimental-vm-modules
.
ERR_VM_MODULE_ALREADY_LINKED
Модуль, который пытались связать, не может быть связан по одной из следующих причин:
- Он уже был связан (
linkingStatus
имеет значение'linked'
) - Он находится в процессе связывания (
linkingStatus
имеет значение'linking'
) - Связывание этого модуля не удалось (
linkingStatus
имеет значение'errored'
)
ERR_VM_MODULE_CACHED_DATA_REJECTED
Опция cachedData
, переданная конструктору модуля, недействительна.
ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA
Кэшированные данные не могут быть созданы для модулей, которые уже были вычислены.
ERR_VM_MODULE_DIFFERENT_CONTEXT
Модуль, возвращаемый из функции линкера, имеет другой контекст, чем родительский модуль. Связанные модули должны иметь общий контекст.
ERR_VM_MODULE_LINK_FAILURE
Не удалось связать модуль из-за ошибки.
ERR_VM_MODULE_NOT_MODULE
Результатом выполнения обещания связывания не является объект vm.Module
.
ERR_VM_MODULE_STATUS
Текущий статус модуля не позволяет выполнить эту операцию. Конкретное значение ошибки зависит от конкретной функции.
ERR_WASI_ALREADY_STARTED
Экземпляр WASI уже запущен.
ERR_WASI_NOT_STARTED
Экземпляр WASI не запущен.
ERR_WEBASSEMBLY_RESPONSE
Добавлено в: v18.1.0
Response
, переданный в WebAssembly.compileStreaming
или в WebAssembly.instantiateStreaming
, не является допустимым ответом WebAssembly.
ERR_WORKER_INIT_FAILED
Сбой инициализации Worker
.
ERR_WORKER_INVALID_EXEC_ARGV
Опция execArgv
, переданная конструктору Worker
, содержит недействительные флаги.
ERR_WORKER_MESSAGING_ERRORED
Добавлено в: v22.5.0
[Стабильность: 1 - Экспериментальная]
Стабильность: 1 Стабильность: 1.1 - Активная разработка
Целевой поток выдал ошибку при обработке сообщения, отправленного с помощью postMessageToThread()
.
ERR_WORKER_MESSAGING_FAILED
Добавлено в: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1.1 - Активная разработка
Поток, запрошенный в postMessageToThread()
, недействителен или не имеет слушателя workerMessage
.
ERR_WORKER_MESSAGING_SAME_THREAD
Добавлено в: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1.1 - Активная разработка
Идентификатор потока, запрошенный в postMessageToThread()
, является идентификатором текущего потока.
ERR_WORKER_MESSAGING_TIMEOUT
Добавлено в: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Стабильность: 1.1 - Активная разработка
Отправка сообщения через postMessageToThread()
превысила время ожидания.
ERR_WORKER_NOT_RUNNING
Операция не удалась, поскольку экземпляр Worker
в настоящее время не запущен.
ERR_WORKER_OUT_OF_MEMORY
Экземпляр Worker
был завершен, поскольку достиг своего лимита памяти.
ERR_WORKER_PATH
Путь для основного скрипта worker не является ни абсолютным, ни относительным путем, начинающимся с ./
или ../
.
ERR_WORKER_UNSERIALIZABLE_ERROR
Все попытки сериализации необработанного исключения из рабочего потока не удались.
ERR_WORKER_UNSUPPORTED_OPERATION
Запрошенная функциональность не поддерживается в рабочих потоках.
ERR_ZLIB_INITIALIZATION_FAILED
Создание объекта zlib
не удалось из-за неправильной конфигурации.
HPE_CHUNK_EXTENSIONS_OVERFLOW
Добавлено в: v21.6.2, v20.11.1, v18.19.1
Слишком много данных было получено для расширений фрагмента. В целях защиты от вредоносных или неправильно настроенных клиентов, если получено более 16 КБ данных, будет выдана Error
с этим кодом.
HPE_HEADER_OVERFLOW
[История]
Версия | Изменения |
---|---|
v11.4.0, v10.15.0 | Максимальный размер заголовка в http_parser был установлен в 8 КиБ. |
Было получено слишком много данных HTTP-заголовка. В целях защиты от вредоносных или неправильно сконфигурированных клиентов, если получено больше чем maxHeaderSize
данных HTTP-заголовка, то разбор HTTP будет прерван без создания объекта запроса или ответа, и будет сгенерирована Error
с этим кодом.
HPE_UNEXPECTED_CONTENT_LENGTH
Сервер отправляет как заголовок Content-Length
, так и Transfer-Encoding: chunked
.
Transfer-Encoding: chunked
позволяет серверу поддерживать постоянное HTTP-соединение для динамически сгенерированного контента. В этом случае заголовок HTTP Content-Length
не может быть использован.
Используйте Content-Length
или Transfer-Encoding: chunked
.
MODULE_NOT_FOUND
[История]
Версия | Изменения |
---|---|
v12.0.0 | Добавлено свойство requireStack . |
Файл модуля не удалось разрешить с помощью загрузчика модулей CommonJS при попытке операции require()
или при загрузке точки входа программы.
Устаревшие коды ошибок Node.js
[Стабильность: 0 - Устарело]
Стабильность: 0 Стабильность: 0 - Устарело. Эти коды ошибок либо противоречивы, либо были удалены.
ERR_CANNOT_TRANSFER_OBJECT
Добавлено в: v10.5.0
Удалено в: v12.5.0
Значение, переданное в postMessage()
, содержало объект, не поддерживаемый для передачи.
ERR_CPU_USAGE
Удалено в: v15.0.0
Не удалось обработать нативный вызов из process.cpuUsage
.
ERR_CRYPTO_HASH_DIGEST_NO_UTF16
Добавлено в: v9.0.0
Удалено в: v12.12.0
Кодировка UTF-16 использовалась с hash.digest()
. Хотя метод hash.digest()
позволяет передавать аргумент encoding
, в результате чего метод возвращает строку, а не Buffer
, кодировка UTF-16 (например, ucs
или utf16le
) не поддерживается.
ERR_CRYPTO_SCRYPT_INVALID_PARAMETER
Удалено в: v23.0.0
Несовместимая комбинация параметров была передана в crypto.scrypt()
или crypto.scryptSync()
. Новые версии Node.js используют код ошибки ERR_INCOMPATIBLE_OPTION_PAIR
вместо этого, что соответствует другим API.
ERR_FS_INVALID_SYMLINK_TYPE
Удалено в: v23.0.0
Недопустимый тип символической ссылки был передан в методы fs.symlink()
или fs.symlinkSync()
.
ERR_HTTP2_FRAME_ERROR
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда происходит сбой при отправке отдельного кадра в сессии HTTP/2.
ERR_HTTP2_HEADERS_OBJECT
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда ожидается объект заголовков HTTP/2.
ERR_HTTP2_HEADER_REQUIRED
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда в сообщении HTTP/2 отсутствует обязательный заголовок.
ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND
Добавлено в: v9.0.0
Удалено в: v10.0.0
Информационные заголовки HTTP/2 должны отправляться только до вызова метода Http2Stream.prototype.respond()
.
ERR_HTTP2_STREAM_CLOSED
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда действие было выполнено в потоке HTTP/2, который уже был закрыт.
ERR_HTTP_INVALID_CHAR
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда недопустимый символ найден в сообщении статуса ответа HTTP (фраза причины).
ERR_IMPORT_ASSERTION_TYPE_FAILED
Добавлено в: v17.1.0, v16.14.0
Удалено в: v21.1.0
Утверждение импорта не выполнено, что препятствует импорту указанного модуля.
ERR_IMPORT_ASSERTION_TYPE_MISSING
Добавлено в: v17.1.0, v16.14.0
Удалено в: v21.1.0
Утверждение импорта отсутствует, что препятствует импорту указанного модуля.
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
Добавлено в: v17.1.0, v16.14.0
Удалено в: v21.1.0
Атрибут импорта не поддерживается этой версией Node.js.
ERR_INDEX_OUT_OF_RANGE
Добавлено в: v10.0.0
Удалено в: v11.0.0
Указанный индекс находился вне допустимого диапазона (например, отрицательные смещения).
ERR_INVALID_OPT_VALUE
Добавлено в: v8.0.0
Удалено в: v15.0.0
В объект опций было передано недопустимое или неожиданное значение.
ERR_INVALID_OPT_VALUE_ENCODING
Добавлено в: v9.0.0
Удалено в: v15.0.0
Была передана недопустимая или неизвестная кодировка файла.
ERR_INVALID_PERFORMANCE_MARK
Добавлено в: v8.5.0
Удалено в: v16.7.0
При использовании Performance Timing API (perf_hooks
) метка производительности является недействительной.
ERR_INVALID_TRANSFER_OBJECT
[История]
Версия | Изменения |
---|---|
v21.0.0 | Вместо этого выбрасывается DOMException . |
v21.0.0 | Удалено в: v21.0.0 |
В postMessage()
был передан недействительный объект передачи.
ERR_MANIFEST_ASSERT_INTEGRITY
Удалено в: v22.2.0
Была предпринята попытка загрузить ресурс, но ресурс не соответствовал целостности, определенной манифестом политики. Дополнительные сведения см. в документации по манифестам политик.
ERR_MANIFEST_DEPENDENCY_MISSING
Удалено в: v22.2.0
Была предпринята попытка загрузить ресурс, но ресурс не был указан в качестве зависимости из места, где была предпринята попытка его загрузки. Дополнительные сведения см. в документации по манифестам политик.
ERR_MANIFEST_INTEGRITY_MISMATCH
Удалено в: v22.2.0
Была предпринята попытка загрузить манифест политики, но манифест содержал несколько записей для ресурса, которые не совпадали друг с другом. Обновите записи манифеста, чтобы они совпадали, для устранения этой ошибки. Дополнительные сведения см. в документации по манифестам политик.
ERR_MANIFEST_INVALID_RESOURCE_FIELD
Удалено в: v22.2.0
Ресурс манифеста политики имел недопустимое значение для одного из своих полей. Обновите запись манифеста, чтобы она соответствовала, для устранения этой ошибки. Дополнительные сведения см. в документации по манифестам политик.
ERR_MANIFEST_INVALID_SPECIFIER
Удалено в: v22.2.0
Ресурс манифеста политики имел недопустимое значение для одного из своих отображений зависимостей. Обновите запись манифеста, чтобы исправить эту ошибку. Для получения дополнительной информации см. документацию по манифестам политик.
ERR_MANIFEST_PARSE_POLICY
Удалено в: v22.2.0
Была предпринята попытка загрузить манифест политики, но манифест не удалось проанализировать. Для получения дополнительной информации см. документацию по манифестам политик.
ERR_MANIFEST_TDZ
Удалено в: v22.2.0
Была предпринята попытка чтения из манифеста политики, но инициализация манифеста еще не состоялась. Вероятно, это ошибка в Node.js.
ERR_MANIFEST_UNKNOWN_ONERROR
Удалено в: v22.2.0
Был загружен манифест политики, но он имел неизвестное значение для поведения "onerror". Для получения дополнительной информации см. документацию по манифестам политик.
ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
Удалено в: v15.0.0
Этот код ошибки был заменен на ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
в Node.js v15.0.0, поскольку он больше не является точным, поскольку теперь существуют и другие типы передаваемых объектов.
ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
[История]
Версия | Изменения |
---|---|
v21.0.0 | Вместо этого выбрасывается DOMException . |
v21.0.0 | Удалено в: v21.0.0 |
v15.0.0 | Добавлено в: v15.0.0 |
Объект, который необходимо явно перечислить в аргументе transferList
, находится в объекте, переданном вызову postMessage()
, но не указан в transferList
для этого вызова. Обычно это MessagePort
.
В версиях Node.js до v15.0.0 здесь использовался код ошибки ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
. Однако набор типов передаваемых объектов был расширен, чтобы охватить больше типов, чем MessagePort
.
ERR_NAPI_CONS_PROTOTYPE_OBJECT
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется Node-API
, когда Constructor.prototype
не является объектом.
ERR_NAPI_TSFN_START_IDLE_LOOP
Добавлено в: v10.6.0, v8.16.0
Удалено в: v14.2.0, v12.17.0
В главном потоке значения удаляются из очереди, связанной с потокобезопасной функцией, в цикле простоя. Эта ошибка указывает на то, что произошла ошибка при попытке запустить цикл.
ERR_NAPI_TSFN_STOP_IDLE_LOOP
Добавлено в: v10.6.0, v8.16.0
Удалено в: v14.2.0, v12.17.0
Когда в очереди не остается элементов, цикл простоя должен быть приостановлен. Эта ошибка указывает на то, что не удалось остановить цикл простоя.
ERR_NO_LONGER_SUPPORTED
API Node.js был вызван неподдерживаемым образом, например Buffer.write(string, encoding, offset[, length])
.
ERR_OUTOFMEMORY
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется в общем случае для определения того, что операция вызвала состояние нехватки памяти.
ERR_PARSE_HISTORY_DATA
Добавлено в: v9.0.0
Удалено в: v10.0.0
Модуль node:repl
не смог проанализировать данные из файла истории REPL.
ERR_SOCKET_CANNOT_SEND
Добавлено в: v9.0.0
Удалено в: v14.0.0
Не удалось отправить данные по сокету.
ERR_STDERR_CLOSE
[История]
Версия | Изменения |
---|---|
v10.12.0 | Вместо того, чтобы выдавать ошибку, process.stderr.end() теперь только закрывает сторону потока, но не базовый ресурс, что делает эту ошибку устаревшей. |
v10.12.0 | Удалено в: v10.12.0 |
Была предпринята попытка закрыть поток process.stderr
. По замыслу Node.js не позволяет пользовательскому коду закрывать потоки stdout
или stderr
.
ERR_STDOUT_CLOSE
[История]
Версия | Изменения |
---|---|
v10.12.0 | Вместо того, чтобы выдавать ошибку, process.stderr.end() теперь только закрывает сторону потока, но не базовый ресурс, что делает эту ошибку устаревшей. |
v10.12.0 | Удалено в: v10.12.0 |
Была предпринята попытка закрыть поток process.stdout
. По замыслу Node.js не позволяет пользовательскому коду закрывать потоки stdout
или stderr
.
ERR_STREAM_READ_NOT_IMPLEMENTED
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется при попытке использовать читаемый поток, в котором не реализован readable._read()
.
ERR_TLS_RENEGOTIATION_FAILED
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда запрос на пересогласование TLS не удался неспецифическим образом.
ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER
Добавлено в: v10.5.0
Удалено в: v14.0.0
SharedArrayBuffer
, память которого не управляется движком JavaScript или Node.js, был обнаружен во время сериализации. Такой SharedArrayBuffer
не может быть сериализован.
Это может произойти только тогда, когда нативные аддоны создают SharedArrayBuffer
в "экстернализованном" режиме или переводят существующий SharedArrayBuffer
в экстернализованный режим.
ERR_UNKNOWN_STDIN_TYPE
Добавлено в: v8.0.0
Удалено в: v11.7.0
Была предпринята попытка запустить процесс Node.js с неизвестным типом файла stdin
. Эта ошибка обычно указывает на ошибку в самом Node.js, хотя возможно, что пользовательский код ее вызовет.
ERR_UNKNOWN_STREAM_TYPE
Добавлено в: v8.0.0
Удалено в: v11.7.0
Была предпринята попытка запустить процесс Node.js с неизвестным типом файла stdout
или stderr
. Эта ошибка обычно указывает на ошибку в самом Node.js, хотя возможно, что пользовательский код ее вызовет.
ERR_V8BREAKITERATOR
API V8 BreakIterator
был использован, но полный набор данных ICU не установлен.
ERR_VALUE_OUT_OF_RANGE
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда заданное значение выходит за допустимый диапазон.
ERR_VM_MODULE_LINKING_ERRORED
Добавлено в: v10.0.0
Удалено в: v18.1.0, v16.17.0
Функция компоновщика вернула модуль, для которого компоновка не удалась.
ERR_VM_MODULE_NOT_LINKED
Модуль должен быть успешно скомпонован перед инстанцированием.
ERR_WORKER_UNSUPPORTED_EXTENSION
Добавлено в: v11.0.0
Удалено в: v16.9.0
Путь, используемый для основного скрипта рабочего, имеет неизвестное расширение файла.
ERR_ZLIB_BINDING_CLOSED
Добавлено в: v9.0.0
Удалено в: v10.0.0
Используется, когда предпринимается попытка использовать объект zlib
после того, как он уже был закрыт.
Коды ошибок OpenSSL
Ошибки срока действия
CERT_NOT_YET_VALID
Сертификат еще не действителен: дата notBefore позже текущего времени.
CERT_HAS_EXPIRED
Срок действия сертификата истек: дата notAfter раньше текущего времени.
CRL_NOT_YET_VALID
Список отзыва сертификатов (CRL) имеет дату выпуска в будущем.
CRL_HAS_EXPIRED
Срок действия списка отзыва сертификатов (CRL) истек.
CERT_REVOKED
Сертификат был отозван; он находится в списке отзыва сертификатов (CRL).
Ошибки, связанные с доверием или цепочкой
UNABLE_TO_GET_ISSUER_CERT
Не удалось найти сертификат издателя для найденного сертификата. Обычно это означает, что список доверенных сертификатов не является полным.
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
Издатель сертификата неизвестен. Это происходит, если издатель не включен в список доверенных сертификатов.
DEPTH_ZERO_SELF_SIGNED_CERT
Переданный сертификат является самоподписанным, и тот же сертификат не может быть найден в списке доверенных сертификатов.
SELF_SIGNED_CERT_IN_CHAIN
Издатель сертификата неизвестен. Это происходит, если издатель не включен в список доверенных сертификатов.
CERT_CHAIN_TOO_LONG
Длина цепочки сертификатов превышает максимальную глубину.
UNABLE_TO_GET_CRL
Не удалось найти CRL, на который ссылается сертификат.
UNABLE_TO_VERIFY_LEAF_SIGNATURE
Не удалось проверить ни одной подписи, поскольку цепочка содержит только один сертификат, и он не является самоподписанным.
CERT_UNTRUSTED
Корневой центр сертификации (CA) не помечен как доверенный для указанной цели.
Ошибки основных расширений
INVALID_CA
Сертификат CA недействителен. Либо он не является CA, либо его расширения не соответствуют указанной цели.
PATH_LENGTH_EXCEEDED
Параметр pathlength basicConstraints был превышен.
Ошибки, связанные с именами
HOSTNAME_MISMATCH
Сертификат не соответствует указанному имени.
Ошибки использования и политики
INVALID_PURPOSE
Предоставленный сертификат не может быть использован для указанной цели.
CERT_REJECTED
Корневой ЦС помечен как отклоняющий указанную цель.
Ошибки форматирования
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
Произошла ошибка при попытке выделить память. Этого никогда не должно случиться.