الأخطاء
بشكل عام، تواجه التطبيقات التي تعمل في Node.js أربعة أنواع من الأخطاء:
- أخطاء جافا سكريبت القياسية مثل <EvalError>، و <SyntaxError>، و <RangeError>، و <ReferenceError>، و <TypeError>، و <URIError>.
- أخطاء النظام التي تسببها قيود نظام التشغيل الأساسي، مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبس مغلق.
- الأخطاء التي يحددها المستخدم والتي تسببها شفرة التطبيق.
AssertionError
s هي فئة خاصة من الأخطاء التي يمكن تشغيلها عندما يكتشف Node.js انتهاكًا منطقيًا استثنائيًا يجب ألا يحدث أبدًا. يتم رفع هذه الأخطاء عادةً بواسطة وحدةnode:assert
.
جميع أخطاء جافا سكريبت وأخطاء النظام التي يرفعها Node.js ترث من، أو هي مثيلات ل، فئة جافا سكريبت القياسية <Error> ، ويُضمن توفير على الأقل الخصائص المتاحة في تلك الفئة.
نشر الخطأ والاعتراض عليه
يدعم Node.js العديد من الآليات لنشر ومعالجة الأخطاء التي تحدث أثناء تشغيل التطبيق. يعتمد كيفية الإبلاغ عن هذه الأخطاء ومعالجتها كليًا على نوع Error
وأسلوب واجهة برمجة التطبيقات التي يتم استدعاؤها.
يتم التعامل مع جميع أخطاء جافا سكريبت كاستثناءات تولد وتطرح خطأً على الفور باستخدام آلية جافا سكريبت القياسية throw
. يتم التعامل مع هذه الأخطاء باستخدام بناء try…catch
الذي توفره لغة جافا سكريبت.
// يطرح 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
المُهملة.
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])
يُنشئ كائن Error
جديدًا ويُعيّن خاصية error.message
إلى رسالة النص المُقدمة. إذا تم تمرير كائن كـ message
، فسيتم إنشاء رسالة النص عن طريق استدعاء String(message)
. إذا تم توفير خيار cause
، فسيتم تعيينه إلى خاصية error.cause
. ستمثل خاصية error.stack
النقطة في الكود التي تم فيها استدعاء new Error()
. تعتمد مسارات المكدس على واجهة برمجة تطبيقات مسار المكدس الخاصة بـ V8. تمتد مسارات المكدس فقط إلى (أ) بداية تنفيذ الكود المتزامن، أو (ب) عدد الإطارات التي يحددها خاصية Error.stackTraceLimit
، أيهما أصغر.
Error.captureStackTrace(targetObject[, constructorOpt])
targetObject
<Object>constructorOpt
<Function>
يُنشئ خاصية .stack
على targetObject
، والتي عند الوصول إليها تُعيد سلسلة تمثل الموقع في الكود الذي تم فيه استدعاء Error.captureStackTrace()
.
const myObject = {}
Error.captureStackTrace(myObject)
myObject.stack // مشابه لـ `new Error().stack`
سيتم إضافة بادئة للسطر الأول من المسار بـ ${myObject.name}: ${myObject.message}
.
تقبل الوسيط الاختياري constructorOpt
دالة. إذا تم تقديمها، فسيتم حذف جميع الإطارات الموجودة فوق constructorOpt
، بما في ذلك constructorOpt
، من مسار المكدس المُنشأ.
تُعد وسيطة constructorOpt
مفيدة لإخفاء تفاصيل تنفيذ إنشاء الخطأ عن المستخدم. على سبيل المثال:
function a() {
b()
}
function b() {
c()
}
function c() {
// إنشاء خطأ بدون مسار مكدس لتجنب حساب مسار المكدس مرتين.
const { stackTraceLimit } = Error
Error.stackTraceLimit = 0
const error = new Error()
Error.stackTraceLimit = stackTraceLimit
// التقاط مسار المكدس أعلاه للدالة b
Error.captureStackTrace(error, b) // لا يتم تضمين الدالة c، أو b في مسار المكدس
throw error
}
a()
Error.stackTraceLimit
تحدد خاصية Error.stackTraceLimit
عدد أطر المكدس التي يتم جمعها بواسطة تتبع المكدس (سواء تم إنشاؤها بواسطة new Error().stack
أو Error.captureStackTrace(obj)
).
القيمة الافتراضية هي 10
، ولكن يمكن تعيينها إلى أي رقم JavaScript صالح. ستؤثر التغييرات على أي تتبع مكدس يتم التقاطه بعد تغيير القيمة.
إذا تم تعيينها إلى قيمة غير رقمية، أو تم تعيينها إلى رقم سالب، فلن تلتقط تتبعات المكدس أي أطر.
error.cause
تمت الإضافة في: v16.9.0
إذا وُجدت، فإن خاصية error.cause
هي السبب الكامن وراء الخطأ Error
. يتم استخدامها عند التقاط خطأ ورمي خطأ جديد برسالة أو رمز مختلف من أجل الوصول إلى الخطأ الأصلي.
عادةً ما يتم تعيين خاصية error.cause
عن طريق استدعاء new Error(message, { cause })
. لا يتم تعيينها بواسطة المُنشئ إذا لم يتم توفير خيار cause
.
تسمح هذه الخاصية بتسلسل الأخطاء. عند تسلسل كائنات Error
، يقوم util.inspect()
بتسلسل error.cause
بشكل متكرر إذا تم تعيينه.
const cause = new Error('The remote HTTP server responded with a 500 status')
const symptom = new Error('The message failed to send', { cause })
console.log(symptom)
// Prints:
// Error: The message failed to send
// at REPL2:1:17
// at Script.runInThisContext (node:vm:130:12)
// ... 7 lines matching cause stack trace ...
// at [_line] [as _line] (node:internal/readline/interface:886:18) {
// [cause]: Error: The remote HTTP server responded with a 500 status
// at REPL1:1:15
// at Script.runInThisContext (node:vm:130:12)
// at REPLServer.defaultEval (node:repl:574:29)
// at bound (node:domain:426:15)
// at REPLServer.runBound [as eval] (node:domain:437:12)
// at REPLServer.onLine (node:repl:902:10)
// at REPLServer.emit (node:events:549:35)
// at REPLServer.emit (node:domain:482:12)
// at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
// at [_line] [as _line] (node:internal/readline/interface:886:18)
error.code
خاصية error.code
هي تسمية سلسلة نصية تحدد نوع الخطأ. error.code
هي الطريقة الأكثر استقرارًا لتحديد الخطأ. لن تتغير إلا بين الإصدارات الرئيسية من Node.js. على النقيض من ذلك، قد تتغير سلاسل error.message
بين أي إصدارات من Node.js. راجع رموز أخطاء Node.js للحصول على تفاصيل حول رموز محددة.
error.message
خاصية error.message
هي وصف سلسلة نصية للخطأ كما هو مُعيّن من خلال استدعاء new Error(message)
. ستظهر رسالة message
المُمرّرة إلى المُنشئ أيضًا في السطر الأول من تتبع المكدس لـ Error
، ومع ذلك، فإن تغيير هذه الخاصية بعد إنشاء كائن Error
قد لا يُغيّر السطر الأول من تتبع المكدس (على سبيل المثال، عندما يتم قراءة error.stack
قبل تغيير هذه الخاصية).
const err = new Error('The message')
console.error(err.message)
// يطبع: The message
error.stack
خاصية error.stack
هي سلسلة نصية تصف النقطة في الكود التي تم فيها إنشاء مثيل Error
.
Error: Things keep happening!
at /home/gbusey/file.js:525:2
at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21)
at Actor.<anonymous> (/home/gbusey/actors.js:400:8)
at increaseSynergy (/home/gbusey/actors.js:701:6)
يتم تنسيق السطر الأول على شكل \<اسم فئة الخطأ\>: \<رسالة الخطأ\>
، ويتبعه سلسلة من إطارات المكدس (كل سطر يبدأ بـ "at "). يصف كل إطار موقع استدعاء ضمن الكود الذي أدى إلى توليد الخطأ. يحاول V8 عرض اسم لكل دالة (باسم المتغير، أو اسم الدالة، أو اسم طريقة الكائن)، لكنه في بعض الأحيان لن يتمكن من العثور على اسم مناسب. إذا لم يتمكن V8 من تحديد اسم للدالة، فسيتم عرض معلومات الموقع فقط لهذا الإطار. خلاف ذلك، سيتم عرض اسم الدالة المُحددة مع معلومات الموقع المُلحقة بين قوسين.
يتم إنشاء الإطارات فقط لوظائف JavaScript. إذا، على سبيل المثال، تم تمرير التنفيذ بشكل متزامن عبر دالة إضافة C++ تسمى cheetahify
والتي تستدعي نفسها دالة JavaScript، فلن يكون الإطار الذي يمثل استدعاء cheetahify
موجودًا في تتبعات المكدس:
const cheetahify = require('./native-binding.node')
function makeFaster() {
// `cheetahify()` *بشكل متزامن* تستدعي speedy.
cheetahify(function speedy() {
throw new Error('oh no!')
})
}
makeFaster()
// سيرمي:
// /home/gbusey/file.js:6
// throw new Error('oh no!');
// ^
// Error: oh no!
// at speedy (/home/gbusey/file.js:6:11)
// at makeFaster (/home/gbusey/file.js:5:3)
// at Object.<anonymous> (/home/gbusey/file.js:10:1)
// at Module._compile (module.js:456:26)
// at Object.Module._extensions..js (module.js:474:10)
// at Module.load (module.js:356:32)
// at Function.Module._load (module.js:312:12)
// at Function.Module.runMain (module.js:497:10)
// at startup (node.js:119:16)
// at node.js:906:3
ستكون معلومات الموقع إحدى الخيارات التالية:
native
، إذا كان الإطار يمثل استدعاءً داخليًا لـ V8 (كما في[].forEach
).plain-filename.js:line:column
، إذا كان الإطار يمثل استدعاءً داخليًا لـ Node.js./absolute/path/to/file.js:line:column
، إذا كان الإطار يمثل استدعاءً في برنامج المستخدم (باستخدام نظام وحدة CommonJS)، أو تبعياته.\<بروتوكول النقل\>:///url/to/module/file.mjs:line:column
، إذا كان الإطار يمثل استدعاءً في برنامج المستخدم (باستخدام نظام وحدة ES)، أو تبعياته.
يتم إنشاء السلسلة التي تمثل تتبع المكدس بشكل كسول عندما يتم الوصول إلى خاصية error.stack
.
عدد الإطارات التي يتم التقاطها بواسطة تتبع المكدس مقيّد بأصغر قيمة من Error.stackTraceLimit
أو عدد الإطارات المتاحة في دورة الحدث الحالية.
الصف: AssertionError
- يمتد: <errors.Error>
يشير إلى فشل التأكيد. لمزيد من التفاصيل، راجع الصف: assert.AssertionError
.
الصف: RangeError
- يمتد: <errors.Error>
يشير إلى أن الوسيط المُقدم لم يكن ضمن المجموعة أو النطاق من القيم المقبولة لوظيفة ما؛ سواء كان ذلك نطاقًا رقميًا، أو خارج مجموعة الخيارات لمعامل دالة معين.
require('node:net').connect(-1)
// يطرح "RangeError: يجب أن يكون خيار "port" >= 0 و < 65536: -1"
سيقوم Node.js بإنشاء حالات RangeError
ورميها على الفور كشكل من أشكال التحقق من صحة الوسيط.
الصف: ReferenceError
- يمتد: <errors.Error>
يشير إلى أن هناك محاولة للوصول إلى متغير غير مُعرّف. غالبًا ما تشير هذه الأخطاء إلى أخطاء مطبعية في التعليمات البرمجية، أو برنامج معطل بطريقة أخرى.
بينما قد تقوم شفرة العميل بإنشاء هذه الأخطاء ونشرها، إلا أن V8 فقط هو الذي سيفعل ذلك عمليًا.
doesNotExist
// يطرح ReferenceError، doesNotExist ليس متغيرًا في هذا البرنامج.
ما لم يكن التطبيق يقوم بإنشاء وتشغيل التعليمات البرمجية ديناميكيًا، فإن حالات ReferenceError
تشير إلى خطأ في التعليمات البرمجية أو تبعياتها.
الصف: SyntaxError
- يمتد: <errors.Error>
يشير إلى أن البرنامج ليس JavaScript صالحًا. قد لا يتم إنشاء هذه الأخطاء ونشرها إلا نتيجة لتقييم التعليمات البرمجية. قد يحدث تقييم التعليمات البرمجية نتيجة لـ eval
أو Function
أو require
أو vm. هذه الأخطاء تدل دائمًا تقريبًا على برنامج معطل.
try {
require('node:vm').runInThisContext('binary ! isNotOk')
} catch (err) {
// سيكون "err" عبارة عن SyntaxError.
}
حالات SyntaxError
غير قابلة للاسترداد في السياق الذي أنشأها - لا يمكن التقاطها إلا بواسطة سياقات أخرى.
الصف: SystemError
- يمتد: <errors.Error>
يقوم Node.js بإنشاء أخطاء النظام عندما تحدث استثناءات داخل بيئة وقت التشغيل الخاصة به. وعادةً ما تحدث هذه الأخطاء عندما ينتهك تطبيق ما قيدًا من قيود نظام التشغيل. على سبيل المثال، سيحدث خطأ في النظام إذا حاول تطبيق ما قراءة ملف غير موجود.
address
<string> إذا وجد، العنوان الذي فشلت إليه اتصال الشبكةcode
<string> رمز الخطأ النصيdest
<string> إذا وجد، مسار الملف الوجهة عند الإبلاغ عن خطأ في نظام الملفاتerrno
<number> رقم الخطأ المُقدم من النظامinfo
<Object> إذا وجد، تفاصيل إضافية حول حالة الخطأmessage
<string> وصف مُقدم من النظام وقابل للقراءة من قبل الإنسان للخطأpath
<string> إذا وجد، مسار الملف عند الإبلاغ عن خطأ في نظام الملفاتport
<number> إذا وجد، منفذ اتصال الشبكة غير المتوفرsyscall
<string> اسم مُدعمة النظام التي تسببت في الخطأ
error.address
إذا وجد، فإن error.address
هو سلسلة نصية تصف العنوان الذي فشل الاتصال الشبكي معه.
error.code
خاصية error.code
هي سلسلة نصية تمثل رمز الخطأ.
error.dest
إذا وجد، فإن error.dest
هو مسار الملف الوجهة عند الإبلاغ عن خطأ في نظام الملفات.
error.errno
خاصية error.errno
هي رقم سالب يتوافق مع رمز الخطأ المحدد في معالجة أخطاء libuv
.
في Windows، سيتم تطبيع رقم الخطأ الذي يوفره النظام بواسطة libuv.
للحصول على التمثيل النصي لرمز الخطأ، استخدم util.getSystemErrorName(error.errno)
.
error.info
إذا وجد، فإن error.info
هو كائن يحتوي على تفاصيل حول حالة الخطأ.
error.message
error.message
هو وصف للخطأ يوفره النظام، وهو قابل للقراءة من قبل الإنسان.
error.path
إذا وجد، فإن error.path
هو سلسلة نصية تحتوي على اسم مسار غير صحيح ذي صلة.
error.port
إذا وجد، فإن error.port
هو منفذ الاتصال الشبكي غير المتوفر.
error.syscall
خاصية error.syscall
هي سلسلة نصية تصف دعوة النظام التي فشلت.
أخطاء النظام الشائعة
هذه قائمة بأخطاء النظام التي يتم مواجهتها بشكل شائع عند كتابة برنامج 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
- يمتد من <errors.Error>
يشير إلى أن الوسيط المُقدّم ليس من النوع المسموح به. على سبيل المثال، تمرير دالة إلى معامل يتوقع سلسلة نصية سيكون TypeError
.
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()
.
ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY
تم الإضافة في: v16.7.0
عند استخدام fs.cp()
، يشير ارتباط رمزي في dest
إلى دليل فرعي من src
.
ERR_FS_CP_UNKNOWN
تم الإضافة في: v16.7.0
تمت محاولة النسخ إلى نوع ملف غير معروف باستخدام fs.cp()
.
ERR_FS_EISDIR
المسار هو دليل.
ERR_FS_FILE_TOO_LARGE
تمت محاولة قراءة ملف يتجاوز حجمه الحد الأقصى المسموح به لحجم Buffer
.
ERR_HTTP2_ALTSVC_INVALID_ORIGIN
تتطلب أطر HTTP/2 ALTSVC مصدرًا صالحًا.
ERR_HTTP2_ALTSVC_LENGTH
تقتصر أطر HTTP/2 ALTSVC على حد أقصى يبلغ 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
غير متوافقة.
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
حدث خطأ في تطبيق QUIC.
ERR_QUIC_CONNECTION_FAILED
تم الإضافة في: v23.0.0
فشل إنشاء اتصال QUIC.
ERR_QUIC_ENDPOINT_CLOSED
تم الإضافة في: v23.0.0
تم إغلاق نقطة نهاية QUIC بخطأ.
ERR_QUIC_OPEN_STREAM_FAILED
تم الإضافة في: v23.0.0
فشل فتح دفق QUIC.
ERR_QUIC_TRANSPORT_ERROR
تم الإضافة في: v23.4.0
حدث خطأ في نقل QUIC.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
تم الإضافة في: v23.4.0
فشلت جلسة QUIC لأن التفاوض على الإصدار مطلوب.
ERR_REQUIRE_ASYNC_MODULE
عند محاولة require()
لـ وحدة ES، تبين أن الوحدة غير متزامنة. أي أنها تحتوي على انتظار على مستوى أعلى.
لعرض مكان انتظار المستوى الأعلى، استخدم --experimental-print-required-tla
(سيؤدي هذا إلى تنفيذ الوحدات قبل البحث عن عمليات الانتظار على مستوى أعلى).
ERR_REQUIRE_CYCLE_MODULE
عند محاولة require()
لـ وحدة ES، تشارك حافة CommonJS إلى ESM أو ESM إلى CommonJS في دورة فورية. هذا غير مسموح به لأن وحدات ES لا يمكن تقييمها أثناء تقييمها بالفعل.
لتجنب الدورة، يجب ألا تحدث مكالمة require()
المشاركة في دورة على مستوى أعلى من وحدة ES (عبر createRequire()
) أو وحدة CommonJS، ويجب أن تتم بشكل كسول في دالة داخلية.
ERR_REQUIRE_ESM
[السجل]
الإصدار | التغييرات |
---|---|
v23.0.0 | تدعم require() الآن تحميل وحدات ES المتزامنة بشكل افتراضي. |
تمت محاولة 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
.
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
تمت محاولة تحميل وحدة بنهاية ملف غير معروفة أو غير مدعومة.
ERR_UNKNOWN_MODULE_FORMAT
تمت محاولة تحميل وحدة بصيغة غير معروفة أو غير مدعومة.
ERR_UNKNOWN_SIGNAL
تم تمرير إشارة عملية غير صالحة أو غير معروفة إلى واجهة برمجة التطبيقات التي تتوقع إشارة صالحة (مثل subprocess.kill()
).
ERR_UNSUPPORTED_DIR_IMPORT
لا يُدعم استيراد عنوان URL للمجلد. بدلاً من ذلك، قم بالرجوع إلى الحزمة ذاتيًا باستخدام اسمها وحدد مسارًا فرعيًا مخصصًا في حقل "exports"
من ملف package.json
.
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 الخاص بها ليس مخططًا خاصًا.
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
تمت محاولة استخدام شيء تم إغلاقه بالفعل.
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_LINK_FAILURE
تعذّر ربط الوحدة بسبب حدوث خطأ.
ERR_VM_MODULE_NOT_MODULE
القيمة المُنفذة لوعد الربط ليست كائنًا من نوع vm.Module
.
ERR_VM_MODULE_STATUS
حالة الوحدة الحالية لا تسمح بهذه العملية. يعتمد المعنى المحدد للخطأ على الوظيفة المحددة.
ERR_WASI_ALREADY_STARTED
تم بالفعل بدء مثيل WASI.
ERR_WASI_NOT_STARTED
لم يتم بدء مثيل WASI.
ERR_WEBASSEMBLY_RESPONSE
مضاف في: v18.1.0
Response
التي تم تمريرها إلى WebAssembly.compileStreaming
أو إلى WebAssembly.instantiateStreaming
ليست استجابة WebAssembly صالحة.
ERR_WORKER_INIT_FAILED
فشل تهيئة Worker
.
ERR_WORKER_INVALID_EXEC_ARGV
يحتوي خيار execArgv
الممرر إلى مُنشئ Worker
على أعلام غير صالحة.
ERR_WORKER_MESSAGING_ERRORED
مضاف في: v22.5.0
[مستقر: 1 - تجريبي]
مستقر: 1 استقرار: 1.1 - تطوير نشط
ألقى مؤشر الخيط الوجهة خطأً أثناء معالجة رسالة تم إرسالها عبر postMessageToThread()
.
ERR_WORKER_MESSAGING_FAILED
مضاف في: v22.5.0
[مستقر: 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 القديمة
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
بدلاً من ذلك، وهو متوافق مع واجهات برمجة التطبيقات الأخرى.
ERR_FS_INVALID_SYMLINK_TYPE
تم إزالته في: v23.0.0
تم تمرير نوع رابط رمزي غير صالح إلى طرق fs.symlink()
أو fs.symlinkSync()
.
ERR_HTTP2_FRAME_ERROR
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يستخدم عند حدوث خطأ في إرسال إطار فردي على جلسة HTTP/2.
ERR_HTTP2_HEADERS_OBJECT
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يستخدم عندما يُتوقع كائن رأس HTTP/2.
ERR_HTTP2_HEADER_REQUIRED
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يستخدم عندما يفتقر رأس مطلوب في رسالة HTTP/2.
ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يجب إرسال رؤوس معلومات HTTP/2 قبل استدعاء طريقة Http2Stream.prototype.respond()
.
ERR_HTTP2_STREAM_CLOSED
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يستخدم عند إجراء إجراء على دفق HTTP/2 تم إغلاقه بالفعل.
ERR_HTTP_INVALID_CHAR
تمت إضافته في: v9.0.0
تم إزالته في: v10.0.0
يستخدم عند العثور على حرف غير صالح في رسالة حالة استجابة HTTP (عبارة السبب).
ERR_IMPORT_ASSERTION_TYPE_FAILED
تمت إضافته في: v17.1.0، v16.14.0
تم إزالته في: v21.1.0
فشل تأكيد الاستيراد، مما منع استيراد الوحدة المحددة.
ERR_IMPORT_ASSERTION_TYPE_MISSING
تمت إضافته في: v17.1.0، v16.14.0
تم إزالته في: v21.1.0
يفتقر تأكيد الاستيراد، مما منع استيراد الوحدة المحددة.
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
أضيف في: v17.1.0، v16.14.0
أزيل في: v21.1.0
سمة الاستيراد غير مدعومة من قبل هذا الإصدار من Node.js.
ERR_INDEX_OUT_OF_RANGE
أضيف في: v10.0.0
أزيل في: v11.0.0
كان الفهرس المعطى خارج النطاق المقبول (مثل التعويضات السالبة).
ERR_INVALID_OPT_VALUE
أضيف في: v8.0.0
أزيل في: v15.0.0
تم تمرير قيمة غير صالحة أو غير متوقعة في كائن الخيارات.
ERR_INVALID_OPT_VALUE_ENCODING
أضيف في: v9.0.0
أزيل في: v15.0.0
تم تمرير ترميز ملف غير صالح أو غير معروف.
ERR_INVALID_PERFORMANCE_MARK
أضيف في: v8.5.0
أزيل في: v16.7.0
عند استخدام واجهة برمجة تطبيقات توقيت الأداء (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
s في وضع "مُخْرَج"، أو وضع 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
حدث خطأ أثناء محاولة تخصيص الذاكرة. لا ينبغي أن يحدث هذا أبدًا.