오류
Node.js에서 실행되는 애플리케이션은 일반적으로 네 가지 범주의 오류를 경험합니다.
- <EvalError>, <SyntaxError>, <RangeError>, <ReferenceError>, <TypeError> 및 <URIError>와 같은 표준 JavaScript 오류.
- 존재하지 않는 파일을 열거나 닫힌 소켓을 통해 데이터를 보내려고 시도하는 것과 같은 기본 운영 체제 제약 조건으로 인해 발생하는 시스템 오류.
- 애플리케이션 코드로 인해 발생하는 사용자 지정 오류.
AssertionError는 Node.js가 발생해서는 안 되는 예외적인 논리 위반을 감지할 때 발생할 수 있는 특수한 종류의 오류입니다. 이러한 오류는 일반적으로node:assert모듈에서 발생합니다.
Node.js에서 발생하는 모든 JavaScript 및 시스템 오류는 표준 JavaScript <Error> 클래스에서 상속되거나 해당 클래스의 인스턴스이며 해당 클래스에서 사용할 수 있는 속성을 최소한 제공합니다.
오류 전파 및 인터셉트
Node.js는 애플리케이션이 실행되는 동안 발생하는 오류를 전파하고 처리하는 여러 메커니즘을 지원합니다. 이러한 오류가 보고되고 처리되는 방식은 Error의 유형과 호출되는 API 스타일에 따라 완전히 달라집니다.
모든 JavaScript 오류는 표준 JavaScript throw 메커니즘을 사용하여 오류를 즉시 생성하고 발생시키는 예외로 처리됩니다. 이러한 오류는 JavaScript 언어에서 제공하는 try…catch 구성을 사용하여 처리됩니다.
// z가 정의되지 않았기 때문에 ReferenceError와 함께 발생합니다.
try {
const m = 1;
const n = m + z;
} catch (err) {
// 여기에서 오류를 처리합니다.
}JavaScript throw 메커니즘을 사용하면 처리해야 하는 예외가 발생하거나 Node.js 프로세스가 즉시 종료됩니다.
몇 가지 예외를 제외하고 동기 API(<Promise>를 반환하거나 fs.readFileSync와 같이 callback 함수를 허용하지 않는 모든 차단 메서드)는 throw를 사용하여 오류를 보고합니다.
비동기 API 내에서 발생하는 오류는 여러 가지 방법으로 보고될 수 있습니다.
- 일부 비동기 메서드는 <Promise>를 반환합니다. 거부될 수 있다는 점을 항상 고려해야 합니다. 처리되지 않은 Promise 거부에 프로세스가 어떻게 반응하는지에 대한 자세한 내용은
--unhandled-rejections플래그를 참조하십시오. callback함수를 허용하는 대부분의 비동기 메서드는 해당 함수의 첫 번째 인수로 전달되는Error객체를 허용합니다. 해당 첫 번째 인수가null이 아니고Error의 인스턴스인 경우 처리해야 하는 오류가 발생한 것입니다.- 비동기 메서드가
EventEmitter인 객체에서 호출되면 오류가 해당 객체의'error'이벤트로 라우팅될 수 있습니다. - Node.js API의 일반적인 비동기 메서드 중 일부는 여전히
throw메커니즘을 사용하여try…catch를 사용하여 처리해야 하는 예외를 발생시킬 수 있습니다. 이러한 메서드의 포괄적인 목록은 없습니다. 필요한 적절한 오류 처리 메커니즘을 확인하려면 각 메서드의 문서를 참조하십시오.
'error' 이벤트 메커니즘의 사용은 스트림 기반 및 이벤트 이미터 기반 API에 가장 일반적이며, 이러한 API는 시간 경과에 따른 일련의 비동기 작업(성공 또는 실패할 수 있는 단일 작업과 반대)을 나타냅니다.
모든 EventEmitter 객체의 경우 'error' 이벤트 처리기가 제공되지 않으면 오류가 발생하여 Node.js 프로세스가 처리되지 않은 예외를 보고하고 충돌합니다. 단, 'uncaughtException' 이벤트에 대한 처리기가 등록되었거나 더 이상 사용되지 않는 node:domain 모듈이 사용된 경우는 예외입니다.
const EventEmitter = require('node:events');
const ee = new EventEmitter();
setImmediate(() => {
// 'error' 이벤트 처리기가 추가되지 않았기 때문에 이 프로세스가 충돌합니다.
ee.emit('error', new Error('This will crash'));
});이러한 방식으로 생성된 오류는 호출 코드가 이미 종료된 후에 발생하므로 try…catch를 사용하여 가로챌 수 없습니다.
개발자는 각 메서드의 문서를 참조하여 해당 메서드에서 발생하는 오류가 정확히 어떻게 전파되는지 확인해야 합니다.
클래스: Error
일반적인 JavaScript <Error> 객체로, 오류가 발생한 특정 상황을 나타내지 않습니다. Error 객체는 Error가 인스턴스화된 코드의 지점을 자세히 설명하는 "스택 추적"을 캡처하고 오류에 대한 텍스트 설명을 제공할 수 있습니다.
모든 시스템 및 JavaScript 오류를 포함하여 Node.js에서 생성된 모든 오류는 Error 클래스의 인스턴스이거나 상속됩니다.
new Error(message[, options])
새로운 Error 객체를 생성하고 error.message 속성을 제공된 텍스트 메시지로 설정합니다. 객체가 message로 전달되면 텍스트 메시지는 String(message)를 호출하여 생성됩니다. cause 옵션이 제공되면 error.cause 속성에 할당됩니다. error.stack 속성은 new Error()가 호출된 코드의 지점을 나타냅니다. 스택 추적은 V8의 스택 추적 API에 따라 다릅니다. 스택 추적은 (a) 동기 코드 실행의 시작 또는 (b) Error.stackTraceLimit 속성에 의해 제공되는 프레임 수 중 더 작은 값까지만 확장됩니다.
Error.captureStackTrace(targetObject[, constructorOpt])
targetObject<Object>constructorOpt<Function>
targetObject에 .stack 속성을 생성합니다. 이 속성에 접근하면 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의 기본 원인입니다. 오류를 catch하고 원래 오류에 계속 액세스하기 위해 다른 메시지나 코드로 새 오류를 throw할 때 사용됩니다.
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)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('메시지');
console.error(err.message);
// 출력: 메시지error.stack
error.stack 속성은 Error가 인스턴스화된 코드의 지점을 설명하는 문자열입니다.
Error: 계속 일이 발생합니다!
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('어 이런!');
});
}
makeFaster();
// throw됩니다.
// /home/gbusey/file.js:6
// throw new Error('어 이런!');
// ^
// Error: 어 이런!
// 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위치 정보는 다음 중 하나입니다.
- 프레임이 V8 내부의 호출을 나타내는 경우
native(예:[].forEach). - 프레임이 Node.js 내부의 호출을 나타내는 경우
plain-filename.js:line:column. - 프레임이 사용자 프로그램(CommonJS 모듈 시스템 사용) 또는 해당 종속성의 호출을 나타내는 경우
/absolute/path/to/file.js:line:column. - 프레임이 사용자 프로그램(ES 모듈 시스템 사용) 또는 해당 종속성의 호출을 나타내는 경우
\<transport-protocol\>:///url/to/module/file.mjs:line:column.
스택 추적을 나타내는 문자열은 error.stack 속성에 액세스할 때 지연 생성됩니다.
스택 추적에서 캡처한 프레임 수는 Error.stackTraceLimit 또는 현재 이벤트 루프 틱에서 사용할 수 있는 프레임 수 중 더 작은 값으로 제한됩니다.
클래스: AssertionError
- 확장: <errors.Error>
어설션 실패를 나타냅니다. 자세한 내용은 클래스: assert.AssertionError를 참조하십시오.
클래스: RangeError
- 확장: <errors.Error>
제공된 인수가 함수에 허용되는 값의 집합 또는 범위 내에 있지 않음을 나타냅니다. 이는 숫자 범위이거나 지정된 함수 매개변수에 대한 옵션 집합 외부인지 여부입니다.
require('node:net').connect(-1);
// "RangeError: "port" 옵션은 >= 0 및 < 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 인스턴스는 이를 생성한 컨텍스트에서 복구할 수 없습니다. 다른 컨텍스트에서만 catch할 수 있습니다.
클래스: 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 오류 처리에 정의된 오류 코드에 해당하는 음수입니다.
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 속성은 실패한 syscall을 설명하는 문자열입니다.
일반적인 시스템 오류
다음은 Node.js 프로그램을 작성할 때 흔히 발생하는 시스템 오류 목록입니다. 전체 목록은 errno(3) man page를 참조하십시오.
EACCES(Permission denied): 파일 액세스 권한에 의해 금지된 방식으로 파일에 액세스하려고 시도했습니다.EADDRINUSE(Address already in use): 로컬 시스템의 다른 서버가 이미 해당 주소를 사용하고 있기 때문에 서버(net,http또는https)를 로컬 주소에 바인딩하지 못했습니다.ECONNREFUSED(Connection refused): 대상 시스템이 활발하게 거부했기 때문에 연결할 수 없습니다. 일반적으로 외부 호스트에서 비활성 상태인 서비스에 연결하려고 시도한 결과입니다.ECONNRESET(Connection reset by peer): 피어가 강제로 연결을 닫았습니다. 일반적으로 시간 초과 또는 재부팅으로 인해 원격 소켓에서 연결이 끊어진 결과입니다.http및net모듈을 통해 흔히 발생합니다.EEXIST(File exists): 대상이 존재하지 않아야 하는 작업의 대상이 기존 파일이었습니다.EISDIR(Is a directory): 작업에서 파일을 예상했지만 주어진 경로 이름이 디렉터리였습니다.EMFILE(Too many open files in system): 시스템에서 허용 가능한 최대 파일 설명자 수에 도달했으며, 하나 이상이 닫힐 때까지 다른 설명자 요청을 충족할 수 없습니다. 특히 프로세스에 대한 파일 설명자 제한이 낮은 시스템(특히 macOS)에서 동시에 여러 파일을 열 때 발생합니다. 낮은 제한을 해결하려면 Node.js 프로세스를 실행할 셸에서ulimit -n 2048을 실행하십시오.ENOENT(No such file or directory): 지정된 경로 이름의 구성 요소가 존재하지 않음을 나타내기 위해fs작업에서 흔히 발생합니다. 주어진 경로로 엔터티(파일 또는 디렉터리)를 찾을 수 없습니다.ENOTDIR(Not a directory): 주어진 경로 이름의 구성 요소가 존재했지만 예상대로 디렉터리가 아니었습니다. 일반적으로fs.readdir에서 발생합니다.ENOTEMPTY(Directory not empty): 항목이 있는 디렉터리가 빈 디렉터리가 필요한 작업(일반적으로fs.unlink)의 대상이었습니다.ENOTFOUND(DNS lookup failed):EAI_NODATA또는EAI_NONAME의 DNS 실패를 나타냅니다. 이것은 표준 POSIX 오류가 아닙니다.EPERM(Operation not permitted): 권한 상승이 필요한 작업을 수행하려고 시도했습니다.EPIPE(Broken pipe): 데이터를 읽을 프로세스가 없는 파이프, 소켓 또는 FIFO에 쓰기 작업입니다.net및http레이어에서 흔히 발생하며, 쓰기 작업이 수행되는 스트림의 원격 측면이 닫혔음을 나타냅니다.ETIMEDOUT(Operation timed out): 연결된 당사자가 일정 기간 후 적절하게 응답하지 않아 연결 또는 보내기 요청이 실패했습니다. 일반적으로http또는net에서 발생합니다. 종종socket.end()가 제대로 호출되지 않았다는 신호입니다.
클래스: TypeError
- <errors.Error>를 확장합니다.
제공된 인수가 허용 가능한 유형이 아님을 나타냅니다. 예를 들어 문자열을 예상하는 매개변수에 함수를 전달하면 TypeError가 됩니다.
require('node:url').parse(() => { });
// 문자열을 예상했기 때문에 TypeError를 발생시킵니다.Node.js는 인수 유효성 검사의 한 형태로 TypeError 인스턴스를 즉시 생성하고 throw합니다.
예외와 오류
JavaScript 예외는 유효하지 않은 작업의 결과 또는 throw 문의 대상으로 throw되는 값입니다. 이러한 값이 Error의 인스턴스 또는 Error에서 상속된 클래스의 인스턴스일 필요는 없지만 Node.js 또는 JavaScript 런타임에서 throw되는 모든 예외는 Error의 인스턴스입니다.
일부 예외는 JavaScript 레이어에서 복구할 수 없습니다. 이러한 예외는 항상 Node.js 프로세스를 충돌시킵니다. 예로는 C++ 레이어의 assert() 검사 또는 abort() 호출이 있습니다.
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 사용).
AbortSignal을 사용하지 않는 API는 일반적으로 이 코드로 오류를 발생시키지 않습니다.
이 코드는 웹 플랫폼의 AbortError와의 호환성을 위해 Node.js 오류가 사용하는 일반적인 ERR_* 규칙을 사용하지 않습니다.
ERR_ACCESS_DENIED
Node.js가 권한 모델에 의해 제한된 리소스에 액세스하려고 할 때마다 트리거되는 특별한 유형의 오류입니다.
ERR_AMBIGUOUS_ARGUMENT
함수 시그니처를 오해할 수 있다는 것을 암시하는 방식으로 함수 인수가 사용되고 있습니다. 이는 assert.throws(block, message)의 message 매개변수가 block에서 던져진 오류 메시지와 일치할 때 node:assert 모듈에서 발생합니다. 왜냐하면 해당 사용법은 사용자가 message를 block이 던지지 않을 경우 AssertionError가 표시할 메시지 대신 예상되는 메시지라고 믿는다는 것을 암시하기 때문입니다.
ERR_ARG_NOT_ITERABLE
반복 가능한 인수(for...of 루프에서 작동하는 값)가 필요했지만 Node.js API에 제공되지 않았습니다.
ERR_ASSERTION
Node.js가 발생해서는 안 되는 예외적인 논리 위반을 감지할 때마다 트리거될 수 있는 특별한 유형의 오류입니다. 이는 일반적으로 node:assert 모듈에 의해 발생합니다.
ERR_ASYNC_CALLBACK
함수가 아닌 것을 AsyncHooks 콜백으로 등록하려는 시도가 있었습니다.
ERR_ASYNC_TYPE
비동기 리소스의 유형이 유효하지 않았습니다. 사용자는 공개 임베더 API를 사용하는 경우 자체 유형을 정의할 수도 있습니다.
ERR_BROTLI_COMPRESSION_FAILED
Brotli 스트림으로 전달된 데이터가 성공적으로 압축되지 않았습니다.
ERR_BROTLI_INVALID_PARAM
Brotli 스트림을 구성하는 동안 잘못된 매개변수 키가 전달되었습니다.
ERR_BUFFER_CONTEXT_NOT_AVAILABLE
Node.js 인스턴스와 연결되지 않은 JS 엔진 컨텍스트에 있는 동안 애드온 또는 임베더 코드에서 Node.js Buffer 인스턴스를 만들려고 시도했습니다. Buffer 메서드에 전달된 데이터는 메서드가 반환될 때 해제됩니다.
이 오류가 발생하면 Buffer 인스턴스를 만드는 대신 일반 Uint8Array를 만드는 것이 가능합니다. 이는 결과 객체의 프로토타입만 다릅니다. Uint8Array는 일반적으로 Buffer가 있는 모든 Node.js 코어 API에서 허용되며 모든 컨텍스트에서 사용할 수 있습니다.
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 |
일반적으로 .close()가 호출된 후 닫힌 상태의 MessagePort 인스턴스를 사용하려는 시도가 있었습니다.
ERR_CONSOLE_WRITABLE_STREAM
Console이 stdout 스트림 없이 인스턴스화되었거나 Console에 쓰기 불가능한 stdout 또는 stderr 스트림이 있습니다.
ERR_CONSTRUCT_CALL_INVALID
추가됨: v12.5.0
호출할 수 없는 클래스 생성자가 호출되었습니다.
ERR_CONSTRUCT_CALL_REQUIRED
클래스에 대한 생성자가 new 없이 호출되었습니다.
ERR_CONTEXT_NOT_INITIALIZED
API에 전달된 vm 컨텍스트가 아직 초기화되지 않았습니다. 이는 컨텍스트를 생성하는 동안 오류가 발생하고 (잡히는 경우) 발생할 수 있습니다. 예를 들어 컨텍스트를 생성할 때 할당에 실패하거나 최대 호출 스택 크기에 도달한 경우입니다.
ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED
사용 중인 OpenSSL 버전에 의해 지원되지 않는 OpenSSL 엔진이 요청되었습니다 (예: clientCertEngine 또는 privateKeyEngine TLS 옵션을 통해). 이는 컴파일 시간 플래그 OPENSSL_NO_ENGINE 때문일 가능성이 높습니다.
ERR_CRYPTO_ECDH_INVALID_FORMAT
crypto.ECDH() 클래스 getPublicKey() 메서드에 대한 format 인수에 잘못된 값이 전달되었습니다.
ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY
crypto.ECDH() 클래스 computeSecret() 메서드에 대한 key 인수에 잘못된 값이 전달되었습니다. 이는 공개 키가 타원 곡선 외부에 있음을 의미합니다.
ERR_CRYPTO_ENGINE_UNKNOWN
잘못된 암호화 엔진 식별자가 require('node:crypto').setEngine()에 전달되었습니다.
ERR_CRYPTO_FIPS_FORCED
--force-fips 명령줄 인수가 사용되었지만 node:crypto 모듈에서 FIPS 모드를 활성화하거나 비활성화하려는 시도가 있었습니다.
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 웹 키가 제공되었습니다.
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.final()을 호출하기 전에 cipher.getAuthTag()를 호출하는 경우입니다.
ERR_CRYPTO_INVALID_TAG_LENGTH
추가된 버전: v15.0.0
유효하지 않은 인증 태그 길이가 제공되었습니다.
ERR_CRYPTO_JOB_INIT_FAILED
추가된 버전: v15.0.0
비동기 암호화 작업의 초기화에 실패했습니다.
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
키의 타원 곡선이 JSON Web Key Elliptic Curve Registry에서 사용하도록 등록되지 않았습니다.
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
키의 비대칭 키 유형이 JSON Web Key Types Registry에서 사용하도록 등록되지 않았습니다.
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
서로 다른 길이의 Buffer, TypedArray 또는 DataView 인수로 crypto.timingSafeEqual()이 호출되었습니다.
ERR_CRYPTO_UNKNOWN_CIPHER
알 수 없는 암호가 지정되었습니다.
ERR_CRYPTO_UNKNOWN_DH_GROUP
알 수 없는 Diffie-Hellman 그룹 이름이 지정되었습니다. 유효한 그룹 이름 목록은 crypto.getDiffieHellman()을 참조하십시오.
ERR_CRYPTO_UNSUPPORTED_OPERATION
추가된 버전: v15.0.0, v14.18.0
지원되지 않는 암호화 작업을 호출하려는 시도가 있었습니다.
ERR_DEBUGGER_ERROR
추가된 버전: v16.4.0, v14.17.4
디버거에서 오류가 발생했습니다.
ERR_DEBUGGER_STARTUP_ERROR
추가된 버전: v16.4.0, v14.17.4
디버거가 필요한 호스트/포트가 사용 가능해질 때까지 기다리는 동안 시간 초과되었습니다.
ERR_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
node:domain 모듈이 이전 시점에 로드되었기 때문에 process.setUncaughtExceptionCaptureCallback()을 호출할 수 없습니다.
스택 추적은 node:domain 모듈이 로드된 시점을 포함하도록 확장됩니다.
ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION
v8.startupSnapshot.setDeserializeMainFunction()은 이미 이전에 호출되었기 때문에 호출할 수 없습니다.
ERR_ENCODING_INVALID_ENCODED_DATA
TextDecoder() API에 제공된 데이터가 제공된 인코딩에 따라 유효하지 않습니다.
ERR_ENCODING_NOT_SUPPORTED
TextDecoder() API에 제공된 인코딩이 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
util.callbackify()를 통해 콜백화된 Promise가 거짓 값으로 거부되었습니다.
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
force 및 errorOnExist가 true로 설정된 상태에서 fs.cp()를 사용하여 이미 존재하는 파일을 덮어쓰려고 했습니다.
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
Added in: v16.7.0
fs.cp()을 사용할 때 dest의 심볼릭 링크가 src의 하위 디렉터리를 가리켰습니다.
ERR_FS_CP_UNKNOWN
Added in: v16.7.0
fs.cp()을 사용하여 알 수 없는 파일 유형으로 복사하려 했습니다.
ERR_FS_EISDIR
경로는 디렉터리입니다.
ERR_FS_FILE_TOO_LARGE
파일 크기가 Buffer의 최대 허용 크기보다 큰 파일을 읽으려고 했습니다.
ERR_HTTP2_ALTSVC_INVALID_ORIGIN
HTTP/2 ALTSVC 프레임에는 유효한 Origin이 필요합니다.
ERR_HTTP2_ALTSVC_LENGTH
HTTP/2 ALTSVC 프레임은 최대 16,382바이트의 페이로드로 제한됩니다.
ERR_HTTP2_CONNECT_AUTHORITY
CONNECT 메서드를 사용하는 HTTP/2 요청의 경우 :authority 유사 헤더가 필요합니다.
ERR_HTTP2_CONNECT_PATH
CONNECT 메서드를 사용하는 HTTP/2 요청의 경우 :path 유사 헤더는 금지됩니다.
ERR_HTTP2_CONNECT_SCHEME
CONNECT 메서드를 사용하는 HTTP/2 요청의 경우 :scheme 유사 헤더는 금지됩니다.
ERR_HTTP2_ERROR
특정되지 않은 HTTP/2 오류가 발생했습니다.
ERR_HTTP2_GOAWAY_SESSION
연결된 피어로부터 GOAWAY 프레임을 수신한 후에는 새 HTTP/2 스트림을 열 수 없습니다.
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
http2.getUnpackedSettings() API에 전달된 입력 Buffer 및 Uint8Array 인스턴스의 길이는 6의 배수여야 합니다.
ERR_HTTP2_INVALID_PSEUDOHEADER
유효한 HTTP/2 의사 헤더(:status, :path, :authority, :scheme, 및 :method)만 사용할 수 있습니다.
ERR_HTTP2_INVALID_SESSION
이미 소멸된 Http2Session 객체에 대해 작업이 수행되었습니다.
ERR_HTTP2_INVALID_SETTING_VALUE
유효하지 않은 값이 HTTP/2 설정에 지정되었습니다.
ERR_HTTP2_INVALID_STREAM
이미 소멸된 스트림에 대해 작업이 수행되었습니다.
ERR_HTTP2_MAX_PENDING_SETTINGS_ACK
HTTP/2 SETTINGS 프레임이 연결된 피어에 전송될 때마다 피어는 새로운 SETTINGS를 수신하고 적용했다는 확인을 보내야 합니다. 기본적으로 승인되지 않은 SETTINGS 프레임의 최대 개수를 언제든지 보낼 수 있습니다. 이 오류 코드는 해당 제한에 도달했을 때 사용됩니다.
ERR_HTTP2_NESTED_PUSH
푸시 스트림 내에서 새 푸시 스트림을 시작하려고 시도했습니다. 중첩된 푸시 스트림은 허용되지 않습니다.
ERR_HTTP2_NO_MEM
http2session.setLocalWindowSize(windowSize) API를 사용하는 동안 메모리가 부족합니다.
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 핑이 취소되었습니다.
ERR_HTTP2_PING_LENGTH
HTTP/2 핑 페이로드는 정확히 8바이트 길이여야 합니다.
ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED
HTTP/2 유사 헤더가 부적절하게 사용되었습니다. 유사 헤더는 : 접두사로 시작하는 헤더 키 이름입니다.
ERR_HTTP2_PUSH_DISABLED
클라이언트에서 비활성화된 푸시 스트림을 생성하려고 시도했습니다.
ERR_HTTP2_SEND_FILE
Http2Stream.prototype.responseWithFile() API를 사용하여 디렉터리를 보내려고 시도했습니다.
ERR_HTTP2_SEND_FILE_NOSEEK
Http2Stream.prototype.responseWithFile() API를 사용하여 일반 파일이 아닌 것을 보내려고 시도했지만 offset 또는 length 옵션이 제공되었습니다.
ERR_HTTP2_SESSION_ERROR
Http2Session이 0이 아닌 오류 코드로 닫혔습니다.
ERR_HTTP2_SETTINGS_CANCEL
Http2Session 설정이 취소되었습니다.
ERR_HTTP2_SOCKET_BOUND
이미 다른 Http2Session 객체에 바인딩된 net.Socket 또는 tls.TLSSocket에 Http2Session 객체를 연결하려고 시도했습니다.
ERR_HTTP2_SOCKET_UNBOUND
이미 닫힌 Http2Session의 socket 속성을 사용하려고 시도했습니다.
ERR_HTTP2_STATUS_101
HTTP/2에서는 101 정보 상태 코드의 사용이 금지됩니다.
ERR_HTTP2_STATUS_INVALID
잘못된 HTTP 상태 코드가 지정되었습니다. 상태 코드는 100과 599 사이의 정수여야 합니다(경계값 포함).
ERR_HTTP2_STREAM_CANCEL
연결된 피어로 데이터가 전송되기 전에 Http2Stream이 파괴되었습니다.
ERR_HTTP2_STREAM_ERROR
RST_STREAM 프레임에 0이 아닌 오류 코드가 지정되었습니다.
ERR_HTTP2_STREAM_SELF_DEPENDENCY
HTTP/2 스트림의 우선 순위를 설정할 때 스트림은 부모 스트림의 종속성으로 표시될 수 있습니다. 이 오류 코드는 스트림 자체를 종속 항목으로 표시하려고 할 때 사용됩니다.
ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS
지원되는 사용자 지정 설정 수(10)를 초과했습니다.
ERR_HTTP2_TOO_MANY_INVALID_FRAMES
Added in: v15.14.0
maxSessionInvalidFrames 옵션을 통해 지정된 피어가 보낸 허용 가능한 잘못된 HTTP/2 프로토콜 프레임 제한을 초과했습니다.
ERR_HTTP2_TRAILERS_ALREADY_SENT
트레일링 헤더가 Http2Stream에서 이미 전송되었습니다.
ERR_HTTP2_TRAILERS_NOT_READY
http2stream.sendTrailers() 메서드는 Http2Stream 객체에서 'wantTrailers' 이벤트가 발생한 후에 호출할 수 있습니다. 'wantTrailers' 이벤트는 Http2Stream에 대해 waitForTrailers 옵션이 설정된 경우에만 발생합니다.
ERR_HTTP2_UNSUPPORTED_PROTOCOL
http2.connect()에 http: 또는 https: 이외의 프로토콜을 사용하는 URL이 전달되었습니다.
ERR_HTTP_BODY_NOT_ALLOWED
콘텐츠를 허용하지 않는 HTTP 응답에 쓰려고 할 때 오류가 발생합니다.
ERR_HTTP_CONTENT_LENGTH_MISMATCH
응답 본문 크기가 지정된 콘텐츠 길이 헤더 값과 일치하지 않습니다.
ERR_HTTP_HEADERS_SENT
헤더가 이미 전송된 후에 더 많은 헤더를 추가하려고 시도했습니다.
ERR_HTTP_INVALID_HEADER_VALUE
잘못된 HTTP 헤더 값이 지정되었습니다.
ERR_HTTP_INVALID_STATUS_CODE
상태 코드가 일반 상태 코드 범위(100-999)를 벗어났습니다.
ERR_HTTP_REQUEST_TIMEOUT
클라이언트가 허용된 시간 내에 전체 요청을 보내지 않았습니다.
ERR_HTTP_SOCKET_ASSIGNED
지정된 ServerResponse에 이미 소켓이 할당되었습니다.
ERR_HTTP_SOCKET_ENCODING
소켓 인코딩 변경은 RFC 7230 섹션 3에 따라 허용되지 않습니다.
ERR_HTTP_TRAILER_INVALID
전송 인코딩이 이를 지원하지 않더라도 Trailer 헤더가 설정되었습니다.
ERR_ILLEGAL_CONSTRUCTOR
공용이 아닌 생성자를 사용하여 객체를 생성하려고 시도했습니다.
ERR_IMPORT_ATTRIBUTE_MISSING
Added in: v21.1.0
가져오기 속성이 누락되어 지정된 모듈을 가져올 수 없습니다.
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
Added in: v21.1.0
가져오기 type 속성이 제공되었지만, 지정된 모듈은 다른 유형입니다.
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
Added in: 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 Stability: 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()가 호출될 때 inspector가 활성화되지 않았습니다.
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
잘못된 asyncId 또는 triggerAsyncId가 AsyncHooks를 사용하여 전달되었습니다. -1보다 작은 ID는 발생하지 않아야 합니다.
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
file: URL을 사용하는 Node.js API (예: fs 모듈의 특정 함수)에서 호환되지 않는 호스트를 가진 파일 URL을 발견했습니다. 이 상황은 localhost 또는 빈 호스트만 지원되는 Unix 계열 시스템에서만 발생할 수 있습니다.
ERR_INVALID_FILE_URL_PATH
file: URL을 사용하는 Node.js API (예: fs 모듈의 특정 함수)에서 호환되지 않는 경로를 가진 파일 URL을 발견했습니다. 경로를 사용할 수 있는지 여부를 결정하는 정확한 의미 체계는 플랫폼에 따라 다릅니다.
ERR_INVALID_HANDLE_TYPE
IPC 통신 채널을 통해 자식 프로세스로 지원되지 않는 "핸들"을 보내려고 시도했습니다. 자세한 내용은 subprocess.send() 및 process.send()를 참조하십시오.
ERR_INVALID_HTTP_TOKEN
잘못된 HTTP 토큰이 제공되었습니다.
ERR_INVALID_IP_ADDRESS
IP 주소가 유효하지 않습니다.
ERR_INVALID_MIME_SYNTAX
MIME의 구문이 유효하지 않습니다.
ERR_INVALID_MODULE
Added in: v15.0.0, v14.18.0
존재하지 않거나 유효하지 않은 모듈을 로드하려고 시도했습니다.
ERR_INVALID_MODULE_SPECIFIER
가져온 모듈 문자열이 유효하지 않은 URL, 패키지 이름 또는 패키지 하위 경로 지정자입니다.
ERR_INVALID_OBJECT_DEFINE_PROPERTY
객체의 속성에 유효하지 않은 속성을 설정하는 동안 오류가 발생했습니다.
ERR_INVALID_PACKAGE_CONFIG
유효하지 않은 package.json 파일을 구문 분석하지 못했습니다.
ERR_INVALID_PACKAGE_TARGET
package.json "exports" 필드에 시도한 모듈 확인에 대한 유효하지 않은 대상 매핑 값이 포함되어 있습니다.
ERR_INVALID_PROTOCOL
유효하지 않은 options.protocol이 http.request()에 전달되었습니다.
ERR_INVALID_REPL_EVAL_CONFIG
REPL 구성에서 breakEvalOnSigint 및 eval 옵션이 모두 설정되었으며 이는 지원되지 않습니다.
ERR_INVALID_REPL_INPUT
입력을 REPL에서 사용할 수 없습니다. 이 오류가 사용되는 조건은 REPL 문서에 설명되어 있습니다.
ERR_INVALID_RETURN_PROPERTY
함수 옵션이 실행 시 반환된 객체 속성 중 하나에 대해 유효한 값을 제공하지 않는 경우 발생합니다.
ERR_INVALID_RETURN_PROPERTY_VALUE
함수 옵션이 실행 시 반환된 객체 속성 중 하나에 대해 예상되는 값 유형을 제공하지 않는 경우 발생합니다.
ERR_INVALID_RETURN_VALUE
함수가 Promise를 반환해야 하는 경우와 같이 함수 옵션이 실행 시 예상되는 값 유형을 반환하지 않는 경우 발생합니다.
ERR_INVALID_STATE
Added in: v15.0.0
유효하지 않은 상태로 인해 작업을 완료할 수 없음을 나타냅니다. 예를 들어 개체가 이미 소멸되었거나 다른 작업을 수행 중일 수 있습니다.
ERR_INVALID_SYNC_FORK_INPUT
Buffer, TypedArray, DataView 또는 string이 비동기 포크에 대한 stdio 입력으로 제공되었습니다. 자세한 내용은 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');
// 'ERR_INVALID_THIS' 코드가 있는 TypeError를 발생시킵니다.ERR_INVALID_TUPLE
WHATWG URLSearchParams 생성자에 제공된 iterable의 요소가 [name, value] 튜플을 나타내지 않았습니다. 즉, 요소가 iterable이 아니거나 정확히 두 개의 요소로 구성되지 않은 경우입니다.
ERR_INVALID_TYPESCRIPT_SYNTAX
추가된 버전: v23.0.0
제공된 TypeScript 구문이 유효하지 않거나 지원되지 않습니다. 이는 타입 제거를 통해 변환이 필요한 TypeScript 구문을 사용할 때 발생할 수 있습니다.
ERR_INVALID_URI
잘못된 URI가 전달되었습니다.
ERR_INVALID_URL
잘못된 URL이 WHATWG URL 생성자 또는 레거시 url.parse()에 전달되어 구문 분석되었습니다. 발생된 오류 객체에는 일반적으로 구문 분석에 실패한 URL을 포함하는 추가 속성 'input'이 있습니다.
ERR_INVALID_URL_SCHEME
특정 목적에 맞지 않는 스킴(프로토콜)의 URL을 사용하려고 시도했습니다. 이는 fs 모듈의 WHATWG URL API 지원에서만 사용되지만(파일 스킴 'file'이 있는 URL만 허용), 향후 다른 Node.js API에서도 사용될 수 있습니다.
ERR_IPC_CHANNEL_CLOSED
이미 닫힌 IPC 통신 채널을 사용하려고 시도했습니다.
ERR_IPC_DISCONNECTED
이미 연결이 끊어진 IPC 통신 채널의 연결을 끊으려고 시도했습니다. 자세한 내용은 child_process 모듈의 설명서를 참조하세요.
ERR_IPC_ONE_PIPE
둘 이상의 IPC 통신 채널을 사용하여 자식 Node.js 프로세스를 만들려고 시도했습니다. 자세한 내용은 child_process 모듈의 설명서를 참조하세요.
ERR_IPC_SYNC_FORK
동기적으로 포크된 Node.js 프로세스와 IPC 통신 채널을 열려고 시도했습니다. 자세한 내용은 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
Node.js API의 필수 인수가 전달되지 않았습니다. 이는 API 사양을 엄격히 준수하기 위해서만 사용됩니다(일부 경우에는 func(undefined)는 허용하지만 func()는 허용하지 않을 수 있음). 대부분의 네이티브 Node.js API에서 func(undefined)와 func()는 동일하게 처리되며, 대신 ERR_INVALID_ARG_TYPE 오류 코드가 사용될 수 있습니다.
ERR_MISSING_OPTION
옵션 객체를 허용하는 API의 경우 일부 옵션은 필수일 수 있습니다. 필수 옵션이 누락된 경우 이 코드가 발생합니다.
ERR_MISSING_PASSPHRASE
암호 구문을 지정하지 않고 암호화된 키를 읽으려고 시도했습니다.
ERR_MISSING_PLATFORM_FOR_WORKER
이 Node.js 인스턴스에서 사용하는 V8 플랫폼은 Worker 생성을 지원하지 않습니다. 이는 Worker에 대한 임베더 지원 부족으로 인해 발생합니다. 특히 이 오류는 Node.js의 표준 빌드에서는 발생하지 않습니다.
ERR_MODULE_NOT_FOUND
import 작업이나 프로그램 진입점을 로드하는 동안 ECMAScript 모듈 로더가 모듈 파일을 확인할 수 없습니다.
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
Node.js가 V8 시작 스냅샷을 빌드하지 않는데도 V8 시작 스냅샷을 빌드할 때만 사용할 수 있는 작업을 사용하려고 시도했습니다.
ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION
추가된 버전: v21.7.0, v20.12.0
단일 실행 파일 애플리케이션이 아닌 경우 작업을 수행할 수 없습니다.
ERR_NOT_SUPPORTED_IN_SNAPSHOT
시작 스냅샷을 빌드할 때 지원되지 않는 작업을 수행하려고 시도했습니다.
ERR_NO_CRYPTO
Node.js가 OpenSSL 암호화 지원으로 컴파일되지 않았는데도 암호화 기능을 사용하려고 시도했습니다.
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()에 의해 발생합니다.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
추가됨: v18.3.0, v16.17.0
위치 인수가 제공되고 allowPositionals가 false로 설정된 경우 util.parseArgs()에 의해 발생합니다.
ERR_PARSE_ARGS_UNKNOWN_OPTION
추가됨: v18.3.0, v16.17.0
strict가 true로 설정된 경우, options에 인수가 구성되지 않은 경우 util.parseArgs()에 의해 발생합니다.
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
QUIC 애플리케이션 오류가 발생했습니다.
ERR_QUIC_CONNECTION_FAILED
추가된 버전: v23.0.0
QUIC 연결 설정에 실패했습니다.
ERR_QUIC_ENDPOINT_CLOSED
추가된 버전: v23.0.0
QUIC 엔드포인트가 오류와 함께 종료되었습니다.
ERR_QUIC_OPEN_STREAM_FAILED
추가된 버전: v23.0.0
QUIC 스트림 열기에 실패했습니다.
ERR_QUIC_TRANSPORT_ERROR
추가된 버전: v23.4.0
QUIC 전송 오류가 발생했습니다.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
추가된 버전: v23.4.0
버전 협상이 필요하기 때문에 QUIC 세션에 실패했습니다.
ERR_REQUIRE_ASYNC_MODULE
ES Module을 require()하려고 할 때, 해당 모듈이 비동기인 것으로 밝혀졌습니다. 즉, 최상위 await를 포함합니다.
최상위 await가 어디에 있는지 확인하려면 --experimental-print-required-tla를 사용하십시오 (최상위 await를 찾기 전에 모듈을 실행합니다).
ERR_REQUIRE_CYCLE_MODULE
ES Module을 require()하려고 할 때, CommonJS에서 ESM으로 또는 ESM에서 CommonJS로의 엣지가 즉각적인 순환에 참여합니다. ES 모듈은 이미 평가 중인 동안에는 평가할 수 없으므로 이는 허용되지 않습니다.
순환을 피하려면 순환에 관련된 require() 호출이 ES 모듈 (via createRequire()) 또는 CommonJS 모듈의 최상위에서 발생하지 않아야 하며 내부 함수에서 지연적으로 수행되어야 합니다.
ERR_REQUIRE_ESM
[History]
| Version | Changes |
|---|---|
| v23.0.0 | require()는 이제 기본적으로 동기 ES 모듈 로드를 지원합니다. |
ES Module을 require()하려는 시도가 있었습니다.
require()가 이제 동기 ES 모듈 로드를 지원하므로 이 오류는 더 이상 사용되지 않습니다. require()가 최상위 await를 포함하는 ES 모듈을 발견하면 대신 ERR_REQUIRE_ASYNC_MODULE을 발생시킵니다.
ERR_SCRIPT_EXECUTION_INTERRUPTED
스크립트 실행이 SIGINT에 의해 중단되었습니다. (예: + 키를 누름)
ERR_SCRIPT_EXECUTION_TIMEOUT
스크립트 실행 시간이 초과되었습니다. 실행 중인 스크립트에 버그가 있을 수 있습니다.
ERR_SERVER_ALREADY_LISTEN
net.Server가 이미 수신 중인 동안 server.listen() 메서드가 호출되었습니다. 이는 HTTP, HTTPS 및 HTTP/2 Server 인스턴스를 포함한 net.Server의 모든 인스턴스에 적용됩니다.
ERR_SERVER_NOT_RUNNING
net.Server가 실행되고 있지 않을 때 server.close() 메서드가 호출되었습니다. 이는 HTTP, HTTPS 및 HTTP/2 Server 인스턴스를 포함한 모든 net.Server 인스턴스에 적용됩니다.
ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND
다음 버전부터 추가됨: v21.7.0, v20.12.0
단일 실행 파일 애플리케이션 API에 자산을 식별하기 위한 키가 전달되었지만 일치하는 항목을 찾을 수 없습니다.
ERR_SOCKET_ALREADY_BOUND
이미 바인딩된 소켓을 바인딩하려는 시도가 있었습니다.
ERR_SOCKET_BAD_BUFFER_SIZE
dgram.createSocket()에서 recvBufferSize 또는 sendBufferSize 옵션에 유효하지 않은 (음수) 크기가 전달되었습니다.
ERR_SOCKET_BAD_PORT
>= 0 및 < 65536 포트를 예상하는 API 함수가 유효하지 않은 값을 받았습니다.
ERR_SOCKET_BAD_TYPE
소켓 유형(udp4 또는 udp6)을 예상하는 API 함수가 유효하지 않은 값을 받았습니다.
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
Subresource Integrity 검사를 위해 문자열이 제공되었지만 구문 분석할 수 없었습니다. Subresource Integrity 사양을 참조하여 integrity 속성의 형식을 확인하십시오.
ERR_STREAM_ALREADY_FINISHED
스트림이 완료되었기 때문에 완료할 수 없는 스트림 메서드가 호출되었습니다.
ERR_STREAM_CANNOT_PIPE
Writable 스트림에서 stream.pipe()를 호출하려고 시도했습니다.
ERR_STREAM_DESTROYED
stream.destroy()를 사용하여 스트림이 파괴되었기 때문에 완료할 수 없는 스트림 메서드가 호출되었습니다.
ERR_STREAM_NULL_VALUES
null 청크로 stream.write()를 호출하려고 시도했습니다.
ERR_STREAM_PREMATURE_CLOSE
스트림 또는 파이프라인이 명시적인 오류 없이 정상적으로 종료되지 않을 때 stream.finished() 및 stream.pipeline()에서 반환되는 오류입니다.
ERR_STREAM_PUSH_AFTER_EOF
스트림에 null(EOF)이 푸시된 후 stream.push()를 호출하려고 시도했습니다.
ERR_STREAM_UNABLE_TO_PIPE
파이프라인에서 닫히거나 파괴된 스트림으로 파이프하려고 시도했습니다.
ERR_STREAM_UNSHIFT_AFTER_END_EVENT
'end' 이벤트가 발생한 후 stream.unshift()를 호출하려고 시도했습니다.
ERR_STREAM_WRAP
Socket에 문자열 디코더가 설정되었거나 디코더가 objectMode에 있는 경우 중단을 방지합니다.
const Socket = require('node:net').Socket;
const instance = new Socket();
instance.setEncoding('utf8');ERR_STREAM_WRITE_AFTER_END
stream.end()가 호출된 후 stream.write()를 호출하려는 시도가 있었습니다.
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
이 오류는 TLS 옵션에 ALPNProtocols와 ALPNCallback이 모두 포함된 경우 TLSServer를 생성할 때 발생합니다. 이러한 옵션은 상호 배타적입니다.
ERR_TLS_CERT_ALTNAME_FORMAT
이 오류는 사용자 제공 subjectaltname 속성이 인코딩 규칙을 위반하는 경우 checkServerIdentity에 의해 발생합니다. Node.js 자체에서 생성된 인증서 객체는 항상 인코딩 규칙을 준수하므로 이 오류가 발생하지 않습니다.
ERR_TLS_CERT_ALTNAME_INVALID
TLS를 사용하는 동안 피어의 호스트 이름/IP가 인증서의 subjectAltNames와 일치하지 않았습니다.
ERR_TLS_DH_PARAM_SIZE
TLS를 사용하는 동안 Diffie-Hellman(DH) 키 합의 프로토콜에 제공된 매개변수가 너무 작습니다. 기본적으로 키 길이는 취약점을 방지하기 위해 1024비트 이상이어야 하지만 더 강력한 보안을 위해 2048비트 이상을 사용하는 것이 좋습니다.
ERR_TLS_HANDSHAKE_TIMEOUT
TLS/SSL 핸드셰이크 시간이 초과되었습니다. 이 경우 서버도 연결을 중단해야 합니다.
ERR_TLS_INVALID_CONTEXT
Added in: 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
Added in: 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 ID 힌트 설정에 실패했습니다. 힌트가 너무 길 수 있습니다.
ERR_TLS_RENEGOTIATION_DISABLED
재협상이 비활성화된 소켓 인스턴스에서 TLS를 재협상하려는 시도가 있었습니다.
ERR_TLS_REQUIRED_SERVER_NAME
TLS를 사용하는 동안 server.addContext() 메서드가 첫 번째 매개변수에 호스트 이름을 제공하지 않고 호출되었습니다.
ERR_TLS_SESSION_ATTACK
과도한 양의 TLS 재협상이 감지되었으며, 이는 서비스 거부 공격의 잠재적인 벡터입니다.
ERR_TLS_SNI_FROM_SERVER
TLS 서버 측 소켓에서 서버 이름 표시를 발행하려는 시도가 있었습니다. 이는 클라이언트에서만 유효합니다.
ERR_TRACE_EVENTS_CATEGORY_REQUIRED
trace_events.createTracing() 메서드에는 하나 이상의 추적 이벤트 범주가 필요합니다.
ERR_TRACE_EVENTS_UNAVAILABLE
Node.js가 --without-v8-platform 플래그로 컴파일되었기 때문에 node:trace_events 모듈을 로드할 수 없습니다.
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
디렉터리 URL을 import하는 것은 지원되지 않습니다. 대신, 이름을 사용하여 패키지를 자체 참조하고 package.json 파일의 "exports" 필드에서 사용자 정의 하위 경로를 정의하세요.
import './'; // 지원되지 않음
import './index.js'; // 지원됨
import 'package-name'; // 지원됨ERR_UNSUPPORTED_ESM_URL_SCHEME
file 및 data 이외의 URL 체계를 사용하는 import는 지원되지 않습니다.
ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
추가됨: v22.6.0
타입 제거는 node_modules 디렉터리의 하위 파일에 대해 지원되지 않습니다.
ERR_UNSUPPORTED_RESOLVE_REQUEST
잘못된 모듈 참조자를 확인하려는 시도가 있었습니다. 이는 다음 중 하나를 사용하여 import하거나 import.meta.resolve()를 호출할 때 발생할 수 있습니다.
try {
// `data:` URL 모듈에서 'bare-specifier' 패키지를 import하려고 합니다.
await import('data:text/javascript,import "bare-specifier"');
} catch (e) {
console.log(e.code); // ERR_UNSUPPORTED_RESOLVE_REQUEST
}ERR_USE_AFTER_CLOSE
이미 닫힌 것을 사용하려는 시도가 있었습니다.
ERR_VALID_PERFORMANCE_ENTRY_TYPE
Performance Timing API(perf_hooks)를 사용하는 동안 유효한 성능 항목 유형이 발견되지 않았습니다.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
동적 import 콜백이 지정되지 않았습니다.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG
--experimental-vm-modules 없이 동적 import 콜백이 호출되었습니다.
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
WebAssembly.compileStreaming 또는 WebAssembly.instantiateStreaming에 전달된 Response가 유효한 WebAssembly 응답이 아닙니다.
ERR_WORKER_INIT_FAILED
Worker 초기화에 실패했습니다.
ERR_WORKER_INVALID_EXEC_ARGV
Worker 생성자에 전달된 execArgv 옵션에 유효하지 않은 플래그가 포함되어 있습니다.
ERR_WORKER_MESSAGING_ERRORED
추가됨: v22.5.0
대상 스레드가 postMessageToThread()를 통해 전송된 메시지를 처리하는 동안 오류를 발생시켰습니다.
ERR_WORKER_MESSAGING_FAILED
Added in: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1.1 - 활발한 개발 중
postMessageToThread()에서 요청된 스레드가 유효하지 않거나 workerMessage 리스너가 없습니다.
ERR_WORKER_MESSAGING_SAME_THREAD
Added in: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1.1 - 활발한 개발 중
postMessageToThread()에서 요청된 스레드 ID가 현재 스레드 ID입니다.
ERR_WORKER_MESSAGING_TIMEOUT
Added in: v22.5.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 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 객체 생성이 실패했습니다.
HPE_CHUNK_EXTENSIONS_OVERFLOW
Added in: v21.6.2, v20.11.1, v18.19.1
청크 확장자에 너무 많은 데이터가 수신되었습니다. 악성 또는 잘못 구성된 클라이언트를 보호하기 위해 16 KiB 이상의 데이터가 수신되면 이 코드가 포함된 Error가 발생합니다.
HPE_HEADER_OVERFLOW
[기록]
| 버전 | 변경 사항 |
|---|---|
| v11.4.0, v10.15.0 | http_parser의 최대 헤더 크기가 8KiB로 설정되었습니다. |
너무 많은 HTTP 헤더 데이터가 수신되었습니다. 악성 클라이언트 또는 잘못 구성된 클라이언트로부터 보호하기 위해 maxHeaderSize보다 많은 HTTP 헤더 데이터가 수신되면 요청 또는 응답 객체를 생성하지 않고 HTTP 파싱이 중단되고 이 코드가 있는 Error가 발생합니다.
HPE_UNEXPECTED_CONTENT_LENGTH
서버가 Content-Length 헤더와 Transfer-Encoding: chunked를 모두 전송하고 있습니다.
Transfer-Encoding: chunked를 사용하면 서버가 동적으로 생성된 콘텐츠에 대해 HTTP 영구 연결을 유지할 수 있습니다. 이 경우 Content-Length HTTP 헤더를 사용할 수 없습니다.
Content-Length 또는 Transfer-Encoding: chunked를 사용하세요.
MODULE_NOT_FOUND
[기록]
| 버전 | 변경 사항 |
|---|---|
| v12.0.0 | requireStack 속성이 추가되었습니다. |
require() 작업 또는 프로그램 진입점을 로드하는 동안 CommonJS 모듈 로더가 모듈 파일을 확인할 수 없습니다.
레거시 Node.js 오류 코드
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의 새 버전에서는 다른 API와 일관성을 유지하기 위해 오류 코드 ERR_INCOMPATIBLE_OPTION_PAIR를 대신 사용합니다.
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
Added in: v17.1.0, v16.14.0
Removed in: v21.1.0
가져오기 어설션이 이 Node.js 버전에서 지원되지 않습니다.
ERR_INDEX_OUT_OF_RANGE
Added in: v10.0.0
Removed in: v11.0.0
주어진 인덱스가 허용된 범위를 벗어났습니다 (예: 음수 오프셋).
ERR_INVALID_OPT_VALUE
Added in: v8.0.0
Removed in: v15.0.0
옵션 객체에 유효하지 않거나 예상치 못한 값이 전달되었습니다.
ERR_INVALID_OPT_VALUE_ENCODING
Added in: v9.0.0
Removed in: v15.0.0
유효하지 않거나 알 수 없는 파일 인코딩이 전달되었습니다.
ERR_INVALID_PERFORMANCE_MARK
Added in: v8.5.0
Removed in: v16.7.0
Performance Timing API(perf_hooks)를 사용하는 동안 성능 마크가 유효하지 않습니다.
ERR_INVALID_TRANSFER_OBJECT
[기록]
| 버전 | 변경 사항 |
|---|---|
| v21.0.0 | DOMException이 대신 발생합니다. |
| v21.0.0 | Removed in: v21.0.0 |
유효하지 않은 전송 객체가 postMessage()에 전달되었습니다.
ERR_MANIFEST_ASSERT_INTEGRITY
Removed in: v22.2.0
리소스 로드를 시도했지만 리소스가 정책 매니페스트에 정의된 무결성과 일치하지 않았습니다. 자세한 내용은 정책 매니페스트 문서를 참조하십시오.
ERR_MANIFEST_DEPENDENCY_MISSING
Removed in: v22.2.0
리소스 로드를 시도했지만 리소스가 로드를 시도한 위치에서 종속성으로 나열되지 않았습니다. 자세한 내용은 정책 매니페스트 문서를 참조하십시오.
ERR_MANIFEST_INTEGRITY_MISMATCH
Removed in: v22.2.0
정책 매니페스트 로드를 시도했지만 매니페스트에 서로 일치하지 않는 리소스에 대한 여러 항목이 있었습니다. 이 오류를 해결하려면 매니페스트 항목이 일치하도록 업데이트하십시오. 자세한 내용은 정책 매니페스트 문서를 참조하십시오.
ERR_MANIFEST_INVALID_RESOURCE_FIELD
Removed in: 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
이 오류 코드는 Node.js v15.0.0에서 ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST로 대체되었습니다. 그 이유는 다른 유형의 전송 가능한 객체도 이제 존재하므로 더 이상 정확하지 않기 때문입니다.
ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
[History]
| Version | Changes |
|---|---|
| v21.0.0 | DOMException이 대신 발생합니다. |
| v21.0.0 | 제거됨: v21.0.0 |
| v15.0.0 | 추가됨: v15.0.0 |
transferList 인수에 명시적으로 나열해야 하는 객체가 postMessage() 호출에 전달된 객체에 있지만 해당 호출의 transferList에 제공되지 않습니다. 일반적으로 이는 MessagePort입니다.
v15.0.0 이전의 Node.js 버전에서 여기서 사용되는 오류 코드는 ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST였습니다. 그러나 전송 가능한 객체 유형 세트가 확장되어 MessagePort보다 더 많은 유형을 포괄합니다.
ERR_NAPI_CONS_PROTOTYPE_OBJECT
추가됨: v9.0.0
제거됨: v10.0.0
Constructor.prototype이 객체가 아닐 때 Node-API에서 사용됩니다.
ERR_NAPI_TSFN_START_IDLE_LOOP
Added in: v10.6.0, v8.16.0
Removed in: v14.2.0, v12.17.0
메인 스레드에서 스레드 안전 함수와 관련된 큐에서 유휴 루프를 통해 값이 제거됩니다. 이 오류는 루프 시작을 시도할 때 오류가 발생했음을 나타냅니다.
ERR_NAPI_TSFN_STOP_IDLE_LOOP
Added in: v10.6.0, v8.16.0
Removed in: v14.2.0, v12.17.0
큐에 더 이상 항목이 남아 있지 않으면 유휴 루프를 일시 중단해야 합니다. 이 오류는 유휴 루프가 중지되지 않았음을 나타냅니다.
ERR_NO_LONGER_SUPPORTED
Buffer.write(string, encoding, offset[, length])와 같이 지원되지 않는 방식으로 Node.js API가 호출되었습니다.
ERR_OUTOFMEMORY
Added in: v9.0.0
Removed in: v10.0.0
작업으로 인해 메모리 부족 상태가 발생했음을 일반적으로 식별하는 데 사용됩니다.
ERR_PARSE_HISTORY_DATA
Added in: v9.0.0
Removed in: v10.0.0
node:repl 모듈이 REPL 기록 파일에서 데이터를 파싱할 수 없습니다.
ERR_SOCKET_CANNOT_SEND
Added in: v9.0.0
Removed in: v14.0.0
소켓에서 데이터를 보낼 수 없습니다.
ERR_STDERR_CLOSE
[History]
| Version | Changes |
|---|---|
| v10.12.0 | 오류를 발생시키는 대신 process.stderr.end()는 이제 스트림 측만 닫고 기본 리소스는 닫지 않아 이 오류가 불필요해졌습니다. |
| v10.12.0 | Removed in: v10.12.0 |
process.stderr 스트림을 닫으려고 시도했습니다. 설계상 Node.js는 사용자 코드가 stdout 또는 stderr 스트림을 닫는 것을 허용하지 않습니다.
ERR_STDOUT_CLOSE
[History]
| Version | Changes |
|---|---|
| v10.12.0 | 오류를 발생시키는 대신 process.stderr.end()는 이제 스트림 측만 닫고 기본 리소스는 닫지 않아 이 오류가 불필요해졌습니다. |
| v10.12.0 | Removed in: v10.12.0 |
process.stdout 스트림을 닫으려고 시도했습니다. 설계상 Node.js는 사용자 코드가 stdout 또는 stderr 스트림을 닫는 것을 허용하지 않습니다.
ERR_STREAM_READ_NOT_IMPLEMENTED
Added in: v9.0.0
Removed in: 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
JavaScript 엔진이나 Node.js에서 관리하지 않는 메모리를 가진 SharedArrayBuffer가 직렬화 중에 발견되었습니다. 이러한 SharedArrayBuffer는 직렬화할 수 없습니다.
이것은 네이티브 애드온이 "externalized" 모드에서 SharedArrayBuffer를 만들거나 기존 SharedArrayBuffer를 externalized 모드로 전환할 때만 발생할 수 있습니다.
ERR_UNKNOWN_STDIN_TYPE
추가된 버전: v8.0.0
제거된 버전: v11.7.0
알 수 없는 stdin 파일 유형으로 Node.js 프로세스를 시작하려고 시도했습니다. 이 오류는 일반적으로 Node.js 자체 내의 버그를 나타내지만 사용자 코드가 트리거할 수도 있습니다.
ERR_UNKNOWN_STREAM_TYPE
추가된 버전: v8.0.0
제거된 버전: v11.7.0
알 수 없는 stdout 또는 stderr 파일 유형으로 Node.js 프로세스를 시작하려고 시도했습니다. 이 오류는 일반적으로 Node.js 자체 내의 버그를 나타내지만 사용자 코드가 트리거할 수도 있습니다.
ERR_V8BREAKITERATOR
V8 BreakIterator API가 사용되었지만 전체 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
basicConstraints pathlength 매개변수가 초과되었습니다.
이름 관련 오류
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
CRL lastUpdate 필드에 유효하지 않은 시간이 포함되어 있습니다.
ERROR_IN_CRL_NEXT_UPDATE_FIELD
CRL nextUpdate 필드에 유효하지 않은 시간이 포함되어 있습니다.
UNABLE_TO_DECRYPT_CERT_SIGNATURE
인증서 서명을 해독할 수 없습니다. 이는 예상 값과 일치하지 않는 것이 아니라 실제 서명 값을 확인할 수 없음을 의미하며, RSA 키에만 의미가 있습니다.
UNABLE_TO_DECRYPT_CRL_SIGNATURE
인증서 해지 목록(CRL) 서명을 해독할 수 없습니다. 이는 예상 값과 일치하지 않는 것이 아니라 실제 서명 값을 확인할 수 없음을 의미합니다.
UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
인증서 SubjectPublicKeyInfo의 공개 키를 읽을 수 없습니다.
기타 OpenSSL 오류
OUT_OF_MEM
메모리를 할당하는 동안 오류가 발생했습니다. 이런 일은 없어야 합니다.