Skip to content

الأخطاء

بشكل عام، تواجه التطبيقات التي تعمل في Node.js أربعة أنواع من الأخطاء:

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

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

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

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

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

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

أي استخدام لآلية جافا سكريبت throw سيؤدي إلى رفع استثناء يجب معالجته أو ستخرج عملية 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('This will crash'))
})

لا يمكن اعتراض الأخطاء التي تم إنشاؤها بهذه الطريقة باستخدام try…catch لأنها تُطرح بعد خروج الكود المُستدعى بالفعل.

يجب على المطورين الرجوع إلى وثائق كل طريقة لتحديد كيفية نشر الأخطاء التي ترفعها تلك الطرق بالضبط.

الصنف: Error

كائن عام من نوع جافا سكريبت <Error> لا يدل على أي ظرف محدد لسبب حدوث الخطأ. تلتقط كائنات Error "مسار المكدس" الذي يوضح النقطة في الكود التي تم فيها إنشاء كائن Error، وقد يوفر وصفًا نصيًا للخطأ.

جميع الأخطاء التي تم إنشاؤها بواسطة Node.js، بما في ذلك جميع أخطاء النظام وأخطاء جافا سكريبت، ستكون إما مثيلات من، أو ترث من، الصنف 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('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 قبل تغيير هذه الخاصية).

js
const err = new Error('The message')
console.error(err.message)
// يطبع: 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)

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

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

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

function makeFaster() {
  // `cheetahify()` *بشكل متزامن* تستدعي speedy.
  cheetahify(function speedy() {
    throw new Error('oh no!')
  })
}

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

ستكون معلومات الموقع إحدى الخيارات التالية:

  • native، إذا كان الإطار يمثل استدعاءً داخليًا لـ V8 (كما في [].forEach).
  • plain-filename.js:line:column، إذا كان الإطار يمثل استدعاءً داخليًا لـ Node.js.
  • /absolute/path/to/file.js:line:column، إذا كان الإطار يمثل استدعاءً في برنامج المستخدم (باستخدام نظام وحدة CommonJS)، أو تبعياته.
  • \<بروتوكول النقل\>:///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.

في Windows، سيتم تطبيع رقم الخطأ الذي يوفره النظام بواسطة libuv.

للحصول على التمثيل النصي لرمز الخطأ، استخدم util.getSystemErrorName(error.errno).

error.info

إذا وجد، فإن error.info هو كائن يحتوي على تفاصيل حول حالة الخطأ.

error.message

error.message هو وصف للخطأ يوفره النظام، وهو قابل للقراءة من قبل الإنسان.

error.path

إذا وجد، فإن error.path هو سلسلة نصية تحتوي على اسم مسار غير صحيح ذي صلة.

error.port

إذا وجد، فإن error.port هو منفذ الاتصال الشبكي غير المتوفر.

error.syscall

خاصية error.syscall هي سلسلة نصية تصف دعوة النظام التي فشلت.

أخطاء النظام الشائعة

هذه قائمة بأخطاء النظام التي يتم مواجهتها بشكل شائع عند كتابة برنامج Node.js. للحصول على قائمة شاملة، راجع صفحة دليل errno(3).

  • EACCES (تم رفض الإذن): تم إجراء محاولة للوصول إلى ملف بطريقة ممنوعة من خلال أذونات الوصول إلى الملف.
  • EADDRINUSE (العنوان قيد الاستخدام بالفعل): فشلت محاولة ربط خادم (net، http، أو https) بعنوان محلي بسبب خادم آخر على النظام المحلي يشغل هذا العنوان بالفعل.
  • ECONNREFUSED (تم رفض الاتصال): تعذر إجراء اتصال لأن الجهاز الهدف رفضه بنشاط. ينتج هذا عادةً من محاولة الاتصال بخدمة غير نشطة على المضيف البعيد.
  • ECONNRESET (إعادة تعيين الاتصال بواسطة النظير): تم إغلاق اتصال بالقوة بواسطة نظير. ينتج هذا عادةً من فقدان الاتصال على المقبس البعيد بسبب انتهاء مهلة أو إعادة تشغيل. يتم مواجهته بشكل شائع عبر الوحدات النمطية http و net.
  • EEXIST (الملف موجود): كان ملف موجود هو هدف عملية تتطلب عدم وجود الهدف.
  • EISDIR (هو دليل): توقعت عملية ملفًا، لكن مسار الملف المعطى كان دليلًا.
  • EMFILE (الكثير من الملفات المفتوحة في النظام): تم الوصول إلى الحد الأقصى لعدد وصفّات الملفات المسموح بها على النظام، ولا يمكن تلبية طلبات الحصول على وصف آخر حتى يتم إغلاق واحد على الأقل. يتم مواجهة هذا عند فتح العديد من الملفات في وقت واحد بالتوازي، خاصةً على الأنظمة (خاصةً macOS) حيث يوجد حد منخفض لوصف الملفات للعمليات. لمعالجة حد منخفض، قم بتشغيل ulimit -n 2048 في نفس 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 على الفور كشكل من أشكال التحقق من صحة الوسيط.

الاستثناءات مقابل الأخطاء

الاستثناء في جافا سكريبت هو قيمة تُطرح نتيجة عملية غير صالحة أو كهدف لبيان throw. بينما ليس مطلوبًا أن تكون هذه القيم حالات من Error أو فئات ترث من Error، فإن جميع الاستثناءات التي تطرحها Node.js أو بيئة تشغيل جافا سكريبت ستكون حالات من Error.

بعض الاستثناءات غير قابلة للاسترداد على مستوى جافا سكريبت. هذه الاستثناءات ستتسبب دائمًا في تعطل عملية 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.

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 عادي، والذي يختلف فقط في النموذج الأولي للكائن الناتج. يتم قبول Uint8Array بشكل عام في جميع واجهات برمجة تطبيقات Node.js الأساسية حيث توجد Buffer؛ وهي متاحة في جميع السياقات.

ERR_BUFFER_OUT_OF_BOUNDS

تم إجراء عملية خارج حدود Buffer.

ERR_BUFFER_TOO_LARGE

تم إجراء محاولة لإنشاء Buffer أكبر من الحد الأقصى للحجم المسموح به.

ERR_CANNOT_WATCH_SIGINT

تعذر على Node.js مراقبة إشارة SIGINT.

ERR_CHILD_CLOSED_BEFORE_REPLY

تم إغلاق عملية فرعية قبل أن تتلقى العملية الأم ردًا.

ERR_CHILD_PROCESS_IPC_REQUIRED

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

ERR_CHILD_PROCESS_STDIO_MAXBUFFER

يستخدم عندما تحاول العملية الرئيسية قراءة البيانات من STDERR/STDOUT لعملية فرعية، وطول البيانات أطول من خيار maxBuffer.

ERR_CLOSED_MESSAGE_PORT

[السجل]

الإصدارالتغييرات
v16.2.0، v14.17.1تمت إعادة تقديم رسالة الخطأ.
v11.12.0تمت إزالة رسالة الخطأ.
v10.5.0تمت الإضافة في: v10.5.0

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

ERR_CONSOLE_WRITABLE_STREAM

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

ERR_CONSTRUCT_CALL_INVALID

تمت الإضافة في: v12.5.0

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

ERR_CONSTRUCT_CALL_REQUIRED

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

ERR_CONTEXT_NOT_INITIALIZED

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

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

تم تحديد خوارزمية هضم تشفير غير صالحة /api/crypto#cryptogethashes.

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

لم يتم توفير مفتاح توقيع لطريقة 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

عندما يتم إرسال إطار HTTP/2 SETTINGS إلى نظير متصل، يُطلب من النظير إرسال إقرار بأنه استلم وطبق 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 ping.

ERR_HTTP2_PING_LENGTH

يجب أن يكون طول بيانات HTTP/2 ping ثمانية بايت بالضبط.

ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED

تم استخدام رأس HTTP/2 زائف بشكل غير صحيح. رؤوس 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](/ar/api/http#class-httpserverresponse) المعطى.

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

مضاف في: v21.1.0

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

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED

مضاف في: v21.0.0، v20.10.0، v18.19.0

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

ERR_INCOMPATIBLE_OPTION_PAIR

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

ERR_INPUT_TYPE_NOT_ALLOWED

[مستقر: 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 لعملية fork غير متزامنة. راجع وثائق وحدة child_process لمزيد من المعلومات.

ERR_INVALID_THIS

تم استدعاء دالة واجهة برمجة تطبيقات 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 مجموعة [name, value] – وهذا يعني، إذا لم يكن العنصر قابلاً للتكرار، أو لم يتكون من عنصرين بالضبط.

ERR_INVALID_TYPESCRIPT_SYNTAX

مُضاف في: v23.0.0

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

ERR_INVALID_URI

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

ERR_INVALID_URL

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

ERR_INVALID_URL_SCHEME

تم إجراء محاولة لاستخدام عنوان URL بخطة (بروتوكول) غير متوافقة لغرض معين. يتم استخدامه فقط في دعم واجهة برمجة تطبيقات WHATWG URL في وحدة 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. لا يمكن إنشاء جميع كائنات Node.js بنجاح في أي سياق في هذا الوقت، وقد تفشل محاولة نقلها باستخدام postMessage() على الجانب المستقبِل في هذه الحالة.

ERR_METHOD_NOT_IMPLEMENTED

طريقة مطلوبة ولكنها غير مُنفذة.

ERR_MISSING_ARGS

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

حدث خطأ أثناء استدعاء الجزء جافا سكريبت من الدالة الآمنة للخيط.

ERR_NAPI_TSFN_GET_UNDEFINED

حدث خطأ أثناء محاولة استرداد قيمة جافا سكريبت undefined.

ERR_NON_CONTEXT_AWARE_DISABLED

تمّ تحميل إضافة مُكوِّن أصلي غير مدرك للسياق في عملية تمنعها.

ERR_NOT_BUILDING_SNAPSHOT

تمّت محاولة استخدام عمليات لا يمكن استخدامها إلا عند إنشاء لقطة بدء تشغيل V8 على الرغم من أن Node.js لا يقوم بإنشاء واحدة.

ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION

مُضافة في: v21.7.0، v20.12.0

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

ERR_NOT_SUPPORTED_IN_SNAPSHOT

تمّت محاولة إجراء عمليات غير مدعومة عند إنشاء لقطة بدء التشغيل.

ERR_NO_CRYPTO

تمّت محاولة استخدام ميزات التشفير بينما لم يتم تجميع Node.js مع دعم تشفير OpenSSL.

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 "imports" لا يُعرّف تعيين مُحدد الحزمة الداخلية المعطى.

ERR_PACKAGE_PATH_NOT_EXPORTED

حقل "exports" في ملف package.json "exports" لا يقوم بتصدير المسار الفرعي المطلوب. نظرًا لأن عمليات التصدير مُغلّفة، فلا يمكن استيراد الوحدات الداخلية الخاصة التي لم يتم تصديرها من خلال حل الحزمة، إلا باستخدام عنوان URL مطلق.

ERR_PARSE_ARGS_INVALID_OPTION_VALUE

مضاف في: v18.3.0، v16.17.0

عندما يتم تعيين strict إلى true، يتم طرح هذه الاستثناء بواسطة util.parseArgs() إذا تم توفير قيمة <boolean> لخيار من نوع <string>، أو إذا تم توفير قيمة <string> لخيار من نوع <boolean>.

ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL

مضاف في: v18.3.0، v16.17.0

يتم طرح هذه الاستثناء بواسطة util.parseArgs()، عندما يتم توفير وسيطة موضعية ويتم تعيين allowPositionals إلى false.

ERR_PARSE_ARGS_UNKNOWN_OPTION

مضاف في: v18.3.0، v16.17.0

عندما يتم تعيين strict إلى true، يتم طرح هذه الاستثناء بواسطة util.parseArgs() إذا لم يتم تكوين وسيطة في options.

ERR_PERFORMANCE_INVALID_TIMESTAMP

تم توفير قيمة مُؤشّر زمني غير صالحة لعلامة الأداء أو القياس.

ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS

تم توفير خيارات غير صالحة لقياس الأداء.

ERR_PROTO_ACCESS

تم حظر الوصول إلى Object.prototype.__proto__ باستخدام --disable-proto=throw. يجب استخدام Object.getPrototypeOf وObject.setPrototypeOf للحصول على نموذج أولي لكائن وتعيينه.

ERR_QUIC_APPLICATION_ERROR

تم الإضافة في: v23.4.0

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

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

حدث خطأ في تطبيق QUIC.

ERR_QUIC_CONNECTION_FAILED

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

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

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

فشل إنشاء اتصال QUIC.

ERR_QUIC_ENDPOINT_CLOSED

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

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

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

تم إغلاق نقطة نهاية QUIC بخطأ.

ERR_QUIC_OPEN_STREAM_FAILED

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

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

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

فشل فتح دفق QUIC.

ERR_QUIC_TRANSPORT_ERROR

تم الإضافة في: v23.4.0

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

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

حدث خطأ في نقل QUIC.

ERR_QUIC_VERSION_NEGOTIATION_ERROR

تم الإضافة في: v23.4.0

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

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

فشلت جلسة QUIC لأن التفاوض على الإصدار مطلوب.

ERR_REQUIRE_ASYNC_MODULE

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

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

عند محاولة require() لـ وحدة ES، تبين أن الوحدة غير متزامنة. أي أنها تحتوي على انتظار على مستوى أعلى.

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

ERR_REQUIRE_CYCLE_MODULE

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

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

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

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

ERR_REQUIRE_ESM

[السجل]

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

[مستقر: 0 - مُهمل]

مستقر: 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، بما في ذلك مثيلات الخادم HTTP و HTTPS و HTTP/2.

ERR_SERVER_NOT_RUNNING

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

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

تلقت دالة واجهة برمجة التطبيقات التي تتوقع منفذاً >= 0 و < 65536 قيمة غير صالحة.

ERR_SOCKET_BAD_TYPE

تلقت دالة واجهة برمجة التطبيقات التي تتوقع نوع مقبس (udp4 أو udp6) قيمة غير صالحة.

ERR_SOCKET_BUFFER_SIZE

أثناء استخدام dgram.createSocket()، تعذر تحديد حجم مُخزن Buffer للاستقبال أو الإرسال.

ERR_SOCKET_CLOSED

تمت محاولة إجراء عملية على مقبس تم إغلاقه بالفعل.

ERR_SOCKET_CLOSED_BEFORE_CONNECTION

عند استدعاء net.Socket.write() على مقبس متصل وتم إغلاق المقبس قبل إنشاء الاتصال.

ERR_SOCKET_CONNECTION_TIMEOUT

تعذر على المقبس الاتصال بأي عنوان تم إرجاعه بواسطة DNS خلال مهلة الوقت المسموح بها عند استخدام خوارزمية تحديد العائلة التلقائية.

ERR_SOCKET_DGRAM_IS_CONNECTED

تم إجراء مكالمة dgram.connect() على مقبس متصل بالفعل.

ERR_SOCKET_DGRAM_NOT_CONNECTED

تم إجراء مكالمة dgram.disconnect() أو dgram.remoteAddress() على مقبس غير متصل.

ERR_SOCKET_DGRAM_NOT_RUNNING

تم إجراء مكالمة ولم يكن نظام فرعي UDP قيد التشغيل.

ERR_SOURCE_MAP_CORRUPT

تعذر تحليل خريطة المصدر نظرًا لعدم وجودها أو تلفها.

ERR_SOURCE_MAP_MISSING_SOURCE

لم يتم العثور على ملف تم استيراده من خريطة مصدر.

ERR_SQLITE_ERROR

تم الإضافة في: v22.5.0

تم إرجاع خطأ من SQLite.

ERR_SRI_PARSE

تم توفير سلسلة للتحقق من سلامة الموارد الفرعية، ولكن لم يمكن تحليلها. تحقق من تنسيق سمات السلامة بالنظر إلى مواصفات سلامة الموارد الفرعية.

ERR_STREAM_ALREADY_FINISHED

تم استدعاء طريقة دفق لا يمكن إكمالها لأن الدفق قد انتهى.

ERR_STREAM_CANNOT_PIPE

تمت محاولة استدعاء stream.pipe() على دفق Writable.

ERR_STREAM_DESTROYED

تم استدعاء طريقة دفق لا يمكن إكمالها لأن الدفق قد تم تدميره باستخدام stream.destroy().

ERR_STREAM_NULL_VALUES

تمت محاولة استدعاء stream.write() باستخدام جزء null.

ERR_STREAM_PREMATURE_CLOSE

خطأ تم إرجاعه بواسطة stream.finished() و stream.pipeline(), عندما ينتهي دفق أو خط أنابيب بشكل غير صحيح بدون خطأ صريح.

ERR_STREAM_PUSH_AFTER_EOF

تمت محاولة استدعاء stream.push() بعد دفع null(EOF) إلى الدفق.

ERR_STREAM_UNABLE_TO_PIPE

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

ERR_STREAM_UNSHIFT_AFTER_END_EVENT

تمت محاولة استدعاء stream.unshift() بعد إصدار حدث 'end'.

ERR_STREAM_WRAP

يمنع الإلغاء إذا تم تعيين مُشفّر سلسلة على المقبس أو إذا كان المُشفّر في objectMode.

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

محاولة تعيين الحد الأدنى لإصدار بروتوكول TLS minVersion أو الحد الأقصى لإصدار maxVersion يتعارض مع محاولة تعيين secureProtocol صراحةً. استخدم آلية واحدة أو أخرى.

ERR_TLS_PSK_SET_IDENTITY_HINT_FAILED

فشل في تعيين تلميح هوية PSK. قد يكون التلميح طويلًا جدًا.

ERR_TLS_RENEGOTIATION_DISABLED

تمت محاولة إعادة التفاوض على TLS على مثيل مقبس مع تعطيل إعادة التفاوض.

ERR_TLS_REQUIRED_SERVER_NAME

أثناء استخدام TLS، تم استدعاء طريقة server.addContext() بدون توفير اسم مضيف في المعلمة الأولى.

ERR_TLS_SESSION_ATTACK

تم الكشف عن كمية مفرطة من إعادة مفاوضات TLS، وهي ناقل محتمل لهجمات رفض الخدمة.

ERR_TLS_SNI_FROM_SERVER

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

تم تمرير معرف مجموعة أو مستخدم يونكس غير موجود.

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

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

js
import './' // غير مدعوم
import './index.js' // مدعوم
import 'package-name' // مدعوم

ERR_UNSUPPORTED_ESM_URL_SCHEME

لا يُدعم الاستيراد باستخدام مخططات عنوان 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' من وحدة عنوان URL من نوع `data:`:
  await import('data:text/javascript,import "bare-specifier"')
} catch (e) {
  console.log(e.code) // ERR_UNSUPPORTED_RESOLVE_REQUEST
}

ERR_USE_AFTER_CLOSE

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

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

تمت محاولة استخدام شيء تم إغلاقه بالفعل.

ERR_VALID_PERFORMANCE_ENTRY_TYPE

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

مضاف في: v22.5.0

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

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

الخيط المطلوب في postMessageToThread() غير صالح أو ليس لديه مستمع workerMessage.

ERR_WORKER_MESSAGING_SAME_THREAD

مضاف في: v22.5.0

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

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

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

ERR_WORKER_MESSAGING_TIMEOUT

مضاف في: v22.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

مضاف في: v21.6.2, v20.11.1, v18.19.1

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

HPE_HEADER_OVERFLOW

[History]

الإصدارالتغييرات
v11.4.0، v10.15.0تم تعيين الحد الأقصى لحجم الرأس في http_parser إلى 8 كيلوبايت.

تم استقبال الكثير من بيانات رأس HTTP. ولحماية النظام من العملاء الضارين أو الذين تم تهيئتهم بشكل خاطئ، إذا تم استقبال بيانات رأس HTTP أكثر من maxHeaderSize، فسيتم إيقاف تحليل 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

[History]

الإصدارالتغييرات
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.

لا يمكن أن يحدث هذا إلا عندما تقوم الوحدات الإضافية الأصلية بإنشاء SharedArrayBuffers في وضع "مُخْرَج"، أو وضع 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 ولكن لم يتم تثبيت مجموعة بيانات 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.

HOSTNAME_MISMATCH

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

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

INVALID_PURPOSE

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

CERT_REJECTED

تم وضع علامة على سلطة المُصادقة الجذرية لرفض الغرض المحدد.

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

CERT_SIGNATURE_FAILURE

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

CRL_SIGNATURE_FAILURE

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

ERROR_IN_CERT_NOT_BEFORE_FIELD

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

ERROR_IN_CERT_NOT_AFTER_FIELD

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

ERROR_IN_CRL_LAST_UPDATE_FIELD

يحتوي حقل lastUpdate في قائمة إلغاء الشهادة (CRL) على وقت غير صالح.

ERROR_IN_CRL_NEXT_UPDATE_FIELD

يحتوي حقل nextUpdate في قائمة إلغاء الشهادة (CRL) على وقت غير صالح.

UNABLE_TO_DECRYPT_CERT_SIGNATURE

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

UNABLE_TO_DECRYPT_CRL_SIGNATURE

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

UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY

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

أخطاء OpenSSL أخرى

OUT_OF_MEM

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