Skip to content

الأخطاء

ستواجه التطبيقات التي تعمل في Node.js عمومًا أربع فئات من الأخطاء:

  • أخطاء JavaScript القياسية مثل <EvalError>، <SyntaxError>، <RangeError>، <ReferenceError>، <TypeError>، و <URIError>.
  • أخطاء النظام التي تسببها قيود نظام التشغيل الأساسي مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبس مغلق.
  • أخطاء محددة من قبل المستخدم تسببها شفرة التطبيق.
  • AssertionError هي فئة خاصة من الأخطاء التي يمكن أن تحدث عندما يكتشف Node.js انتهاكًا منطقيًا استثنائيًا لا ينبغي أن يحدث أبدًا. يتم طرح هذه الأخطاء عادةً بواسطة وحدة node:assert.

ترث جميع أخطاء JavaScript وأخطاء النظام التي يثيرها Node.js من فئة JavaScript القياسية <Error> أو هي حالات منها، ويضمن توفير على الأقل الخصائص المتوفرة في تلك الفئة.

انتشار الأخطاء واعتراضها

يدعم Node.js العديد من الآليات لنشر ومعالجة الأخطاء التي تحدث أثناء تشغيل التطبيق. تعتمد طريقة الإبلاغ عن هذه الأخطاء ومعالجتها كليًا على نوع Error ونمط واجهة برمجة التطبيقات (API) التي يتم استدعاؤها.

تتم معالجة جميع أخطاء JavaScript كاستثناءات تقوم على الفور بإنشاء وطرح خطأ باستخدام آلية throw القياسية في JavaScript. تتم معالجتها باستخدام بنية try…catch التي توفرها لغة JavaScript.

js
// يطرح خطأ ReferenceError لأن z غير معرف.
try {
  const m = 1;
  const n = m + z;
} catch (err) {
  // قم بمعالجة الخطأ هنا.
}

أي استخدام لآلية throw في JavaScript سيثير استثناء يجب معالجته أو سينتهي عملية Node.js على الفور.

باستثناءات قليلة، ستستخدم واجهات برمجة التطبيقات المتزامنة (أي طريقة حظر لا تُرجع <Promise> ولا تقبل وظيفة callback، مثل fs.readFileSync) throw للإبلاغ عن الأخطاء.

يمكن الإبلاغ عن الأخطاء التي تحدث داخل واجهات برمجة التطبيقات غير المتزامنة بعدة طرق:

  • تقوم بعض الطرق غير المتزامنة بإرجاع <Promise>، يجب عليك دائمًا أن تأخذ في الاعتبار أنه قد يتم رفضها. راجع علامة --unhandled-rejections لمعرفة كيفية تفاعل العملية مع رفض الوعد الذي لم يتم التعامل معه.
  • تقبل معظم الطرق غير المتزامنة التي تقبل وظيفة callback كائن Error يتم تمريره كوسيطة أولى لتلك الوظيفة. إذا كانت الوسيطة الأولى ليست null وكانت نسخة من Error، فقد حدث خطأ يجب معالجته.
  • عندما يتم استدعاء طريقة غير متزامنة على كائن هو EventEmitter، يمكن توجيه الأخطاء إلى حدث 'error' الخاص بهذا الكائن.
  • قد تستمر حفنة من الطرق غير المتزامنة عادةً في واجهة برمجة تطبيقات Node.js في استخدام آلية throw لإثارة استثناءات يجب معالجتها باستخدام try…catch. لا توجد قائمة شاملة بهذه الطرق؛ يرجى الرجوع إلى وثائق كل طريقة لتحديد آلية معالجة الأخطاء المناسبة المطلوبة.

يعتبر استخدام آلية حدث 'error' هو الأكثر شيوعًا لواجهات برمجة التطبيقات القائمة على التدفق و القائمة على باعث الأحداث، والتي تمثل سلسلة من العمليات غير المتزامنة بمرور الوقت (على عكس عملية واحدة قد تنجح أو تفشل).

بالنسبة لجميع كائنات EventEmitter، إذا لم يتم توفير معالج حدث 'error'، فسيتم طرح الخطأ، مما يتسبب في إبلاغ عملية Node.js عن استثناء غير معالج وتعطله ما لم يكن: تم تسجيل معالج لحدث 'uncaughtException'، أو يتم استخدام وحدة node:domain المهملة.

js
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])

  • message <string>
  • options <Object>
    • cause <any> الخطأ الذي تسبب في الخطأ الذي تم إنشاؤه حديثًا.

ينشئ كائن Error جديدًا ويضبط الخاصية error.message على الرسالة النصية المقدمة. إذا تم تمرير كائن كـ message، فسيتم إنشاء الرسالة النصية عن طريق استدعاء String(message). إذا تم توفير الخيار cause، فسيتم تعيينه للخاصية error.cause. ستمثل الخاصية error.stack النقطة في الكود التي تم فيها استدعاء new Error(). تعتمد تتبعات المكدس على واجهة برمجة تطبيقات تتبع المكدس V8. تمتد تتبعات المكدس فقط إلى (أ) بداية تنفيذ الكود المتزامن، أو (ب) عدد الإطارات المحدد بواسطة الخاصية Error.stackTraceLimit، أيهما أصغر.

Error.captureStackTrace(targetObject[, constructorOpt])

ينشئ خاصية .stack على targetObject، والتي عند الوصول إليها تُرجع سلسلة تمثل الموقع في الكود الذي تم فيه استدعاء Error.captureStackTrace().

js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // مشابه لـ `new Error().stack`

سيتم تذييل السطر الأول من التتبع بـ${myObject.name}: ${myObject.message}.

تقبل الوسيطة constructorOpt الاختيارية دالة. إذا تم تقديمها، فسيتم حذف جميع الإطارات الموجودة فوق constructorOpt، بما في ذلك constructorOpt، من تتبع المكدس الذي تم إنشاؤه.

تعتبر الوسيطة constructorOpt مفيدة لإخفاء تفاصيل التنفيذ لإنشاء الأخطاء من المستخدم. على سبيل المثال:

js
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 بشكل متكرر إذا تم تعيينه.

js
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 قبل تغيير هذه الخاصية).

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

error.stack

خاصية error.stack هي سلسلة تصف النقطة في التعليمات البرمجية التي تم فيها إنشاء Error.

bash
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)

يتم تنسيق السطر الأول كـ \<error class name\>: \<error message\>، ويتبعه سلسلة من إطارات المكدس (يبدأ كل سطر بـ "at "). يصف كل إطار موقع استدعاء داخل التعليمات البرمجية أدى إلى إنشاء الخطأ. تحاول V8 عرض اسم لكل دالة (عن طريق اسم المتغير أو اسم الدالة أو اسم طريقة الكائن)، ولكن في بعض الأحيان لن تتمكن من العثور على اسم مناسب. إذا تعذر على V8 تحديد اسم للدالة، فسيتم عرض معلومات الموقع فقط لهذا الإطار. بخلاف ذلك، سيتم عرض اسم الدالة المحدد مع معلومات الموقع الملحقة بين قوسين.

يتم إنشاء الإطارات فقط لوظائف JavaScript. على سبيل المثال، إذا مر التنفيذ بشكل متزامن عبر وظيفة C++ إضافية تسمى cheetahify والتي بدورها تستدعي وظيفة JavaScript، فلن يكون الإطار الذي يمثل استدعاء cheetahify موجودًا في تتبعات المكدس:

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

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

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

ستكون معلومات الموقع واحدة مما يلي:

  • 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

يشير إلى فشل التأكيد. لمزيد من التفاصيل، راجع الفئة: assert.AssertionError.

الفئة: RangeError

يشير إلى أن وسيطة مقدمة لم تكن ضمن المجموعة أو النطاق للقيم المقبولة لدالة ما؛ سواء كان ذلك نطاقًا رقميًا، أو خارج مجموعة الخيارات لمعامل دالة معينة.

js
require('node:net').connect(-1);
// يطرح "RangeError: يجب أن يكون خيار "port" >= 0 و < 65536: -1"

ستقوم Node.js بإنشاء وطرح مثيلات RangeError على الفور كشكل من أشكال التحقق من صحة الوسيطة.

الفئة: ReferenceError

يشير إلى محاولة الوصول إلى متغير غير معرف. تشير هذه الأخطاء عادةً إلى وجود أخطاء إملائية في التعليمات البرمجية، أو برنامج معطل بخلاف ذلك.

في حين أن رمز العميل قد يقوم بإنشاء ونشر هذه الأخطاء، إلا أن V8 فقط هو الذي سيفعل ذلك عمليًا.

js
doesNotExist;
// يطرح ReferenceError، doesNotExist ليس متغيرًا في هذا البرنامج.

ما لم يكن التطبيق يقوم بإنشاء وتشغيل التعليمات البرمجية ديناميكيًا، فإن مثيلات ReferenceError تشير إلى وجود خطأ في التعليمات البرمجية أو تبعياتها.

الفئة: SyntaxError

يشير إلى أن البرنامج ليس JavaScript صالحًا. لا يجوز إنشاء هذه الأخطاء ونشرها إلا كنتيجة لتقييم التعليمات البرمجية. قد يحدث تقييم التعليمات البرمجية نتيجة لـ eval أو Function أو require أو vm. تشير هذه الأخطاء دائمًا تقريبًا إلى برنامج معطل.

js
try {
  require('node:vm').runInThisContext('binary ! isNotOk');
} catch (err) {
  // سيكون 'err' هو SyntaxError.
}

مثيلات SyntaxError غير قابلة للاسترداد في السياق الذي أنشأها - لا يمكن التقاطها إلا بواسطة سياقات أخرى.

الفئة: SystemError

تنشئ 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) man page.

  • EACCES (مرفوض الوصول): تمت محاولة الوصول إلى ملف بطريقة محظورة بموجب أذونات الوصول إلى الملف.
  • EADDRINUSE (العنوان قيد الاستخدام بالفعل): فشلت محاولة ربط خادم (net، http، أو https) بعنوان محلي بسبب وجود خادم آخر على النظام المحلي يشغل هذا العنوان بالفعل.
  • ECONNREFUSED (تم رفض الاتصال): تعذر إجراء أي اتصال لأن الجهاز الهدف رفضه بنشاط. ينتج هذا عادةً عن محاولة الاتصال بخدمة غير نشطة على المضيف الأجنبي.
  • ECONNRESET (تمت إعادة تعيين الاتصال من قبل النظير): تم إغلاق الاتصال قسرًا بواسطة نظير. ينتج هذا عادةً عن فقدان الاتصال على المقبس البعيد بسبب انتهاء المهلة أو إعادة التشغيل. يشيع مواجهته عبر وحدات http و net.
  • EEXIST (الملف موجود): كان ملف موجود هو هدف عملية تتطلب عدم وجود الهدف.
  • EISDIR (هو دليل): توقعت عملية ملفًا، ولكن كان المسار المحدد عبارة عن دليل.
  • EMFILE (عدد كبير جدًا من الملفات المفتوحة في النظام): تم الوصول إلى الحد الأقصى لعدد واصفات الملفات المسموح به في النظام، ولا يمكن تلبية طلبات واصف آخر حتى يتم إغلاق واحد على الأقل. تتم مواجهة هذا عند فتح العديد من الملفات في وقت واحد بالتوازي، خاصة على الأنظمة (على وجه الخصوص، macOS) حيث يوجد حد منخفض لواصف الملفات للعمليات. لعلاج الحد المنخفض، قم بتشغيل ulimit -n 2048 في نفس shell الذي سيشغل عملية Node.js.
  • ENOENT (لا يوجد مثل هذا الملف أو الدليل): يتم رفعه بشكل شائع بواسطة عمليات fs للإشارة إلى أن أحد مكونات المسار المحدد غير موجود. لم يتم العثور على أي كيان (ملف أو دليل) بالمسار المحدد.
  • ENOTDIR (ليس دليلًا): كان أحد مكونات المسار المحدد موجودًا، ولكنه لم يكن دليلًا كما هو متوقع. يتم رفعه بشكل شائع بواسطة fs.readdir.
  • ENOTEMPTY (الدليل غير فارغ): كان الدليل الذي يحتوي على إدخالات هو هدف عملية تتطلب دليلًا فارغًا، عادةً fs.unlink.
  • ENOTFOUND (فشل البحث عن DNS): يشير إلى فشل DNS إما EAI_NODATA أو EAI_NONAME. هذا ليس خطأ POSIX قياسي.
  • EPERM (العملية غير مسموح بها): تمت محاولة إجراء عملية تتطلب امتيازات عالية.
  • EPIPE (أنبوب مكسور): كتابة على أنبوب أو مقبس أو FIFO لا يوجد عملية لقراءة البيانات لها. يشيع مواجهته في طبقات net و http، مما يشير إلى أن الجانب البعيد من الدفق الذي يتم الكتابة إليه قد تم إغلاقه.
  • ETIMEDOUT (انتهت مهلة العملية): فشل طلب اتصال أو إرسال لأن الطرف المتصل لم يستجب بشكل صحيح بعد فترة من الزمن. عادة ما يتم مواجهته بواسطة http أو net. غالبًا ما يكون علامة على عدم استدعاء socket.end() بشكل صحيح.

الصنف: TypeError

يشير إلى أن الوسيطة المقدمة ليست نوعًا مسموحًا به. على سبيل المثال، تمرير دالة إلى معلمة تتوقع سلسلة سيكون TypeError.

js
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).

واجهات برمجة التطبيقات التي لا تستخدم 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)، ولكن لم يتم توفيرها لواجهة برمجة تطبيقات Node.js.

ERR_ASSERTION

نوع خاص من الأخطاء يمكن تشغيله متى اكتشف Node.js انتهاكًا منطقيًا استثنائيًا لا ينبغي أن يحدث أبدًا. يتم رفع هذه الأخطاء عادةً بواسطة وحدة node:assert.

ERR_ASYNC_CALLBACK

تمت محاولة تسجيل شيء ليس دالة كـ AsyncHooks callback.

ERR_ASYNC_TYPE

كان نوع مورد غير متزامن غير صالح. يمكن للمستخدمين أيضًا تحديد أنواعهم الخاصة إذا كانوا يستخدمون واجهة برمجة تطبيقات التضمين العامة.

ERR_BROTLI_COMPRESSION_FAILED

لم يتم ضغط البيانات التي تم تمريرها إلى دفق Brotli بنجاح.

ERR_BROTLI_INVALID_PARAM

تم تمرير مفتاح معلمة غير صالح أثناء إنشاء دفق Brotli.

ERR_BUFFER_CONTEXT_NOT_AVAILABLE

تمت محاولة إنشاء مثيل Buffer من Node.js من كود الإضافة أو التضمين، أثناء وجوده في سياق محرك JS غير مرتبط بمثيل Node.js. سيتم تحرير البيانات التي تم تمريرها إلى طريقة Buffer بحلول وقت إرجاع الطريقة.

عند مواجهة هذا الخطأ، البديل المحتمل لإنشاء مثيل Buffer هو إنشاء Uint8Array عادي، والذي يختلف فقط في النموذج الأولي للكائن الناتج. يتم قبول Uint8Arrays عمومًا في جميع واجهات برمجة تطبيقات Node.js الأساسية حيث توجد Buffers؛ وهي متوفرة في جميع السياقات.

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

[السجل]

الإصدارالتغييرات
الإصدار 16.2.0، الإصدار 14.17.1تمت إعادة تقديم رسالة الخطأ.
الإصدار 11.12.0تمت إزالة رسالة الخطأ.
الإصدار 10.5.0تمت إضافته في: الإصدار 10.5.0

كانت هناك محاولة لاستخدام مثيل MessagePort في حالة مغلقة، عادة بعد استدعاء .close().

ERR_CONSOLE_WRITABLE_STREAM

تم إنشاء Console بدون دفق stdout، أو أن Console لديه دفق stdout أو stderr غير قابل للكتابة.

ERR_CONSTRUCT_CALL_INVALID

تمت الإضافة في: الإصدار 12.5.0

تم استدعاء مُنشئ فئة غير قابل للاستدعاء.

ERR_CONSTRUCT_CALL_REQUIRED

تم استدعاء مُنشئ لفئة بدون new.

ERR_CONTEXT_NOT_INITIALIZED

لم تتم تهيئة سياق vm الذي تم تمريره إلى واجهة برمجة التطبيقات بعد. يمكن أن يحدث هذا عند حدوث خطأ (ويتم التقاطه) أثناء إنشاء السياق، على سبيل المثال، عندما يفشل التخصيص أو يتم الوصول إلى الحد الأقصى لحجم مكدس الاستدعاءات عند إنشاء السياق.

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED

تم طلب محرك OpenSSL (على سبيل المثال، من خلال خيارات TLS clientCertEngine أو privateKeyEngine) غير مدعوم من قبل إصدار OpenSSL المستخدم، على الأرجح بسبب علامة وقت التحويل البرمجي OPENSSL_NO_ENGINE.

ERR_CRYPTO_ECDH_INVALID_FORMAT

تم تمرير قيمة غير صالحة للوسيطة format إلى طريقة getPublicKey() لفئة crypto.ECDH().

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY

تم تمرير قيمة غير صالحة للوسيطة key إلى طريقة computeSecret() لفئة crypto.ECDH(). هذا يعني أن المفتاح العام يقع خارج المنحنى الإهليلجي.

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 غير صالح.

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.

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE

نوع المفتاح غير المتماثل للمفتاح غير مسجل للاستخدام في سجل أنواع مفاتيح الويب JSON.

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

تم إعطاء اسم مجموعة 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

لا يمكن استدعاء process.setUncaughtExceptionCaptureCallback() لأن وحدة node:domain تم تحميلها في وقت سابق.

يتم تمديد تتبع المكدس ليشمل النقطة الزمنية التي تم فيها تحميل وحدة node:domain.

ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION

لا يمكن استدعاء v8.startupSnapshot.setDeserializeMainFunction() لأنه تم استدعاؤها بالفعل من قبل.

ERR_ENCODING_INVALID_ENCODED_DATA

البيانات المقدمة إلى واجهة برمجة التطبيقات TextDecoder() كانت غير صالحة وفقًا للترميز المقدم.

ERR_ENCODING_NOT_SUPPORTED

الترميز المقدم إلى واجهة برمجة التطبيقات 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().

أضيف في: 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 على 16382 بايت كحد أقصى للحمولة.

ERR_HTTP2_CONNECT_AUTHORITY

بالنسبة لطلبات HTTP/2 التي تستخدم طريقة CONNECT، فإن الرأس الزائف :authority مطلوب.

ERR_HTTP2_CONNECT_PATH

بالنسبة لطلبات HTTP/2 التي تستخدم طريقة CONNECT، يُمنع استخدام الرأس الزائف :path.

ERR_HTTP2_CONNECT_SCHEME

بالنسبة لطلبات HTTP/2 التي تستخدم طريقة CONNECT، يُمنع استخدام الرأس الزائف :scheme.

ERR_HTTP2_ERROR

حدث خطأ HTTP/2 غير محدد.

ERR_HTTP2_GOAWAY_SESSION

لا يجوز فتح تدفقات HTTP/2 جديدة بعد أن يستقبل Http2Session إطار GOAWAY من النظير المتصل.

ERR_HTTP2_HEADERS_AFTER_RESPOND

تم تحديد رؤوس إضافية بعد بدء استجابة HTTP/2.

ERR_HTTP2_HEADERS_SENT

تمت محاولة إرسال رؤوس استجابة متعددة.

ERR_HTTP2_HEADER_SINGLE_VALUE

تم توفير قيم متعددة لحقل رأس HTTP/2 كان مطلوبًا أن يحتوي على قيمة واحدة فقط.

ERR_HTTP2_INFO_STATUS_NOT_ALLOWED

لا يجوز تعيين رموز حالة HTTP الإعلامية (1xx) كرمز حالة الاستجابة على استجابات HTTP/2.

ERR_HTTP2_INVALID_CONNECTION_HEADERS

يُمنع استخدام رؤوس معينة لاتصال HTTP/1 في طلبات واستجابات HTTP/2.

ERR_HTTP2_INVALID_HEADER_VALUE

تم تحديد قيمة رأس HTTP/2 غير صالحة.

ERR_HTTP2_INVALID_INFO_STATUS

تم تحديد رمز حالة معلومات HTTP غير صالح. يجب أن تكون رموز حالة المعلومات عددًا صحيحًا بين 100 و 199 (شامل).

ERR_HTTP2_INVALID_ORIGIN

تتطلب إطارات HTTP/2 ORIGIN أصلًا صالحًا.

ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH

يجب أن يكون طول مثيلات Buffer و Uint8Array التي تم تمريرها إلى واجهة برمجة التطبيقات 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

تمت محاولة بدء دفق دفع جديد من داخل دفق دفع. لا يُسمح بدفقات الدفع المتداخلة.

ERR_HTTP2_NO_MEM

نفاد الذاكرة عند استخدام واجهة برمجة التطبيقات 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.

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() لإرسال دليل.

ERR_HTTP2_SEND_FILE_NOSEEK

تمت محاولة استخدام واجهة برمجة التطبيقات 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() إلا بعد انبعاث الحدث 'wantTrailers' على كائن Http2Stream. سيتم انبعاث الحدث 'wantTrailers' فقط إذا تم تعيين خيار waitForTrailers لـ Http2Stream.

ERR_HTTP2_UNSUPPORTED_PROTOCOL

تم تمرير عنوان URL إلى http2.connect() يستخدم أي بروتوكول بخلاف http: أو https:.

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

تمت الإضافة في: v21.1.0

سمة الاستيراد مفقودة، مما يمنع استيراد الوحدة النمطية المحددة.

ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE

تمت الإضافة في: الإصدار 21.1.0

تم توفير سمة type للاستيراد، ولكن نوع الوحدة النمطية المحددة مختلف.

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

تمت الإضافة في: الإصدار 21.0.0، الإصدار 20.10.0، الإصدار 18.19.0

سمة الاستيراد غير مدعومة في هذا الإصدار من Node.js.

ERR_INCOMPATIBLE_OPTION_PAIR

هناك زوج من الخيارات غير متوافقين مع بعضهما البعض ولا يمكن استخدامهما في نفس الوقت.

ERR_INPUT_TYPE_NOT_ALLOWED

[مستقر: 1 - تجريبي]

مستقر: 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

تم استدعاء واجهة برمجة تطبيقات على مؤشر الترابط الرئيسي لا يمكن استخدامها إلا من مؤشر ترابط العامل.

ERR_INTERNAL_ASSERTION

كان هناك خطأ في Node.js أو استخدام غير صحيح لدواخل Node.js. لإصلاح الخطأ، افتح مشكلة على https://github.com/nodejs/node/issues.

ERR_INVALID_ADDRESS

العنوان المقدم غير مفهوم بواسطة واجهة برمجة تطبيقات Node.js.

ERR_INVALID_ADDRESS_FAMILY

عائلة العناوين المقدمة غير مفهومة بواسطة واجهة برمجة تطبيقات Node.js.

ERR_INVALID_ARG_TYPE

تم تمرير وسيط من نوع خاطئ إلى واجهة برمجة تطبيقات 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

واجهة برمجة تطبيقات Node.js تستهلك عناوين URL file: (مثل وظائف معينة في الوحدة النمطية fs) صادفت عنوان URL للملف مع مضيف غير متوافق. لا يمكن أن يحدث هذا الموقف إلا على الأنظمة الشبيهة بـ Unix حيث يتم دعم localhost فقط أو مضيف فارغ.

ERR_INVALID_FILE_URL_PATH

واجهة برمجة تطبيقات Node.js تستهلك عناوين URL file: (مثل وظائف معينة في الوحدة النمطية 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

تمت الإضافة في: 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

يتم طرحه في حالة عدم قيام خيار الدالة بإرجاع نوع قيمة متوقع عند التنفيذ، كما هو الحال عندما يُتوقع من الدالة إرجاع وعد.

ERR_INVALID_STATE

تمت الإضافة في: v15.0.0

يشير إلى أنه لا يمكن إكمال العملية بسبب حالة غير صالحة. على سبيل المثال، قد يكون الكائن قد تم تدميره بالفعل، أو قد يقوم بعملية أخرى.

ERR_INVALID_SYNC_FORK_INPUT

تم توفير Buffer أو TypedArray أو DataView أو string كإدخال stdio لتفرع غير متزامن. راجع الوثائق الخاصة بالوحدة النمطية child_process لمزيد من المعلومات.

ERR_INVALID_THIS

تم استدعاء وظيفة API الخاصة بـ Node.js بقيمة this غير متوافقة.

js
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 constructor صفًا [name, value] - أي، إذا كان العنصر غير قابل للتكرار، أو لا يتكون من عنصرين بالضبط.

ERR_INVALID_TYPESCRIPT_SYNTAX

أضيف في: v23.0.0

بنية TypeScript المقدمة غير صالحة أو غير مدعومة. قد يحدث هذا عند استخدام بنية TypeScript التي تتطلب تحويلًا باستخدام type-stripping.

ERR_INVALID_URI

تم تمرير URI غير صالح.

ERR_INVALID_URL

تم تمرير عنوان URL غير صالح إلى WHATWG URL constructor أو الإصدار القديم url.parse() ليتم تحليله. يحتوي كائن الخطأ الذي يتم طرحه عادةً على خاصية إضافية 'input' تحتوي على عنوان URL الذي فشل تحليله.

ERR_INVALID_URL_SCHEME

تمت محاولة استخدام عنوان URL بنظام (بروتوكول) غير متوافق لغرض معين. يتم استخدامه فقط في دعم WHATWG URL API في وحدة fs (التي تقبل فقط عناوين URL بنظام 'file')، ولكن قد يتم استخدامه في واجهات برمجة تطبيقات 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

لم يتم تمرير وسيطة مطلوبة لواجهة برمجة تطبيقات Node.js. يتم استخدام هذا فقط للامتثال الصارم لمواصفات API (والتي قد تقبل في بعض الحالات func(undefined) ولكن ليس func()). في معظم واجهات برمجة تطبيقات Node.js الأصلية، يتم التعامل مع func(undefined) و func() بشكل مماثل، وقد يتم استخدام رمز الخطأ ERR_INVALID_ARG_TYPE بدلاً من ذلك.

ERR_MISSING_OPTION

بالنسبة إلى واجهات برمجة التطبيقات التي تقبل كائنات الخيارات، قد تكون بعض الخيارات إلزامية. يتم طرح هذا الرمز إذا كان هناك خيار مطلوب مفقودًا.

ERR_MISSING_PASSPHRASE

تمت محاولة قراءة مفتاح مشفر دون تحديد عبارة مرور.

ERR_MISSING_PLATFORM_FOR_WORKER

لا تدعم منصة V8 التي تستخدمها هذه النسخة من Node.js إنشاء Workers. يحدث هذا بسبب نقص دعم المُضمِّن لـ Workers. على وجه الخصوص، لن يحدث هذا الخطأ مع الإصدارات القياسية من 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

تمت إضافتها في: الإصدار 21.7.0، الإصدار 20.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

لا يحدد حقل "imports" في package.json تعيين محدد الحزمة الداخلية المحدد.

ERR_PACKAGE_PATH_NOT_EXPORTED

لا يقوم حقل "exports" في package.json بتصدير المسار الفرعي المطلوب. نظرًا لأن الصادرات مغلفة، لا يمكن استيراد الوحدات النمطية الداخلية الخاصة التي لم يتم تصديرها من خلال تحليل الحزمة، إلا باستخدام عنوان 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، تبين أن الوحدة غير متزامنة. أي أنها تحتوي على await ذي مستوى أعلى.

لمعرفة مكان الـ await ذي المستوى الأعلى، استخدم --experimental-print-required-tla (سيؤدي ذلك إلى تنفيذ الوحدات قبل البحث عن awaits ذات المستوى الأعلى).

ERR_REQUIRE_CYCLE_MODULE

[Stable: 1 - Experimental]

Stable: 1 الاستقرار: 1 - تجريبي

عند محاولة require() لـ وحدة ES، تشارك حافة CommonJS إلى ESM أو ESM إلى CommonJS في دورة فورية. هذا غير مسموح به لأن وحدات ES لا يمكن تقييمها أثناء تقييمها بالفعل.

لتجنب الدورة، يجب ألا تحدث استدعاءات require() المتضمنة في دورة في المستوى الأعلى إما لوحدة ES (عبر createRequire()) أو وحدة CommonJS، ويجب أن تتم ببطء في دالة داخلية.

ERR_REQUIRE_ESM

[History]

الإصدارالتغييرات
v23.0.0يدعم require() الآن تحميل وحدات ES المتزامنة افتراضيًا.

[Stable: 0 - Deprecated]

Stable: 0 الاستقرار: 0 - تم الإلغاء

تمت محاولة require() وحدة ES.

تم إهمال هذا الخطأ منذ أن أصبح 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، بما في ذلك مثيلات Server الخاصة بـ HTTP و HTTPS و HTTP/2.

ERR_SERVER_NOT_RUNNING

تم استدعاء الأسلوب server.close() عندما لم يكن net.Server قيد التشغيل. ينطبق هذا على جميع مثيلات net.Server، بما في ذلك مثيلات HTTP و HTTPS و HTTP/2 Server.

ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND

أضيف في: v21.7.0, v20.12.0

تم تمرير مفتاح إلى واجهات برمجة تطبيقات التطبيقات التنفيذية الفردية لتحديد أحد الأصول، ولكن لم يتم العثور على أي تطابق.

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

يمنع الإجهاض إذا تم تعيين وحدة فك ترميز سلسلة على Socket أو إذا كانت وحدة فك الترميز في objectMode.

js
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، تكون المعلمة المقدمة لبروتوكول اتفاقية المفاتيح Diffie-Hellman (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 وتأسيسه بشكل آمن. تأكد من إصدار حدث "آمن" قبل المتابعة.

ERR_TLS_PROTOCOL_VERSION_CONFLICT

محاولة تعيين minVersion أو maxVersion لبروتوكول TLS تتعارض مع محاولة تعيين 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

تمت محاولة إصدار إشارة اسم الخادم من مقبس 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

تم تمرير خيار ترميز غير صالح أو غير معروف إلى واجهة برمجة تطبيقات.

ERR_UNKNOWN_FILE_EXTENSION

[ثابت: 1 - تجريبي]

ثابت: 1 الاستقرار: 1 - تجريبي

تمت محاولة تحميل وحدة نمطية بامتداد ملف غير معروف أو غير مدعوم.

ERR_UNKNOWN_MODULE_FORMAT

[ثابت: 1 - تجريبي]

ثابت: 1 الاستقرار: 1 - تجريبي

تمت محاولة تحميل وحدة نمطية بتنسيق غير معروف أو غير مدعوم.

ERR_UNKNOWN_SIGNAL

تم تمرير إشارة عملية غير صالحة أو غير معروفة إلى واجهة برمجة تطبيقات تتوقع إشارة صالحة (مثل subprocess.kill()).

ERR_UNSUPPORTED_DIR_IMPORT

import عنوان URL لدليل غير مدعوم. بدلاً من ذلك، قم بالإشارة الذاتية إلى حزمة باستخدام اسمها و حدد مسارًا فرعيًا مخصصًا في حقل "exports" الخاص بملف package.json.

js
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 الخاص بها ليس مخططًا خاصًا.
js
try {
  // محاولة استيراد الحزمة 'bare-specifier' من وحدة نمطية `data:` URL:
  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

أثناء استخدام واجهة برمجة تطبيقات توقيت الأداء (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_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

أضيف في: الإصدار 22.5.0

[مستقر: 1 - تجريبي]

مستقر: 1 الاستقرار: 1.1 - تطوير نشط

المؤشر الفرعي المطلوب في postMessageToThread() غير صالح أو لا يحتوي على مستمع workerMessage.

ERR_WORKER_MESSAGING_SAME_THREAD

أضيف في: الإصدار 22.5.0

[مستقر: 1 - تجريبي]

مستقر: 1 الاستقرار: 1.1 - تطوير نشط

معرف المؤشر الفرعي المطلوب في postMessageToThread() هو معرف المؤشر الفرعي الحالي.

ERR_WORKER_MESSAGING_TIMEOUT

أضيف في: الإصدار 22.5.0

[مستقر: 1 - تجريبي]

مستقر: 1 الاستقرار: 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

أضيف في: الإصدار 21.6.2، الإصدار 20.11.1، الإصدار 18.19.1

تم استلام الكثير من البيانات لامتدادات الكتلة. لحماية العملاء الضارين أو ذوي التكوين الخاطئ، إذا تم استلام أكثر من 16 كيلوبايت من البيانات، فسيتم إرسال خطأ بهذا الرمز.

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 بدلاً من ذلك، وهو ما يتوافق مع واجهات برمجة التطبيقات الأخرى.

تمت إزالته في: 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

أثناء استخدام واجهة برمجة تطبيقات توقيت الأداء (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

تم استدعاء واجهة برمجة تطبيقات 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

تم استخدام 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

تم تجاوز معلمة pathlength الخاصة بـ basicConstraints.

HOSTNAME_MISMATCH

لا تتطابق الشهادة مع الاسم المقدم.

أخطاء الاستخدام والسياسة

INVALID_PURPOSE

لا يمكن استخدام الشهادة المقدمة للغرض المحدد.

CERT_REJECTED

تم وضع علامة على CA الجذر لرفض الغرض المحدد.

أخطاء التنسيق

CERT_SIGNATURE_FAILURE

توقيع الشهادة غير صالح.

CRL_SIGNATURE_FAILURE

توقيع قائمة إبطال الشهادات (CRL) غير صالح.

ERROR_IN_CERT_NOT_BEFORE_FIELD

يحتوي حقل notBefore الخاص بالشهادة على وقت غير صالح.

ERROR_IN_CERT_NOT_AFTER_FIELD

يحتوي حقل notAfter الخاص بالشهادة على وقت غير صالح.

ERROR_IN_CRL_LAST_UPDATE_FIELD

يحتوي حقل lastUpdate الخاص بـ CRL على وقت غير صالح.

ERROR_IN_CRL_NEXT_UPDATE_FIELD

يحتوي حقل nextUpdate الخاص بـ CRL على وقت غير صالح.

UNABLE_TO_DECRYPT_CERT_SIGNATURE

تعذر فك تشفير توقيع الشهادة. هذا يعني أنه تعذر تحديد قيمة التوقيع الفعلية بدلاً من عدم تطابقها مع القيمة المتوقعة، وهذا ذو معنى فقط لمفاتيح RSA.

UNABLE_TO_DECRYPT_CRL_SIGNATURE

تعذر فك تشفير توقيع قائمة إبطال الشهادات (CRL): هذا يعني أنه تعذر تحديد قيمة التوقيع الفعلية بدلاً من عدم تطابقها مع القيمة المتوقعة.

UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY

تعذر قراءة المفتاح العام في SubjectPublicKeyInfo الخاص بالشهادة.

أخطاء OpenSSL أخرى

OUT_OF_MEM

حدث خطأ أثناء محاولة تخصيص الذاكرة. هذا لا ينبغي أن يحدث أبدا.