الأخطاء
ستواجه التطبيقات التي تعمل في Node.js عمومًا أربع فئات من الأخطاء:
- أخطاء JavaScript القياسية مثل <EvalError>، <SyntaxError>، <RangeError>، <ReferenceError>، <TypeError>، و <URIError>.
- أخطاء النظام التي تسببها قيود نظام التشغيل الأساسي مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبس مغلق.
- أخطاء محددة من قبل المستخدم تسببها شفرة التطبيق.
AssertionError
هي فئة خاصة من الأخطاء التي يمكن أن تحدث عندما يكتشف Node.js انتهاكًا منطقيًا استثنائيًا لا ينبغي أن يحدث أبدًا. يتم طرح هذه الأخطاء عادةً بواسطة وحدةnode:assert
.
ترث جميع أخطاء JavaScript وأخطاء النظام التي يثيرها Node.js من فئة JavaScript القياسية <Error> أو هي حالات منها، ويضمن توفير على الأقل الخصائص المتوفرة في تلك الفئة.
انتشار الأخطاء واعتراضها
يدعم Node.js العديد من الآليات لنشر ومعالجة الأخطاء التي تحدث أثناء تشغيل التطبيق. تعتمد طريقة الإبلاغ عن هذه الأخطاء ومعالجتها كليًا على نوع Error
ونمط واجهة برمجة التطبيقات (API) التي يتم استدعاؤها.
تتم معالجة جميع أخطاء JavaScript كاستثناءات تقوم على الفور بإنشاء وطرح خطأ باستخدام آلية throw
القياسية في JavaScript. تتم معالجتها باستخدام بنية try…catch
التي توفرها لغة JavaScript.
// يطرح خطأ ReferenceError لأن z غير معرف.
try {
const m = 1;
const n = m + z;
} catch (err) {
// قم بمعالجة الخطأ هنا.
}
أي استخدام لآلية throw
في JavaScript سيثير استثناء يجب معالجته أو سينتهي عملية Node.js على الفور.
باستثناءات قليلة، ستستخدم واجهات برمجة التطبيقات المتزامنة (أي طريقة حظر لا تُرجع <Promise> ولا تقبل وظيفة callback
، مثل fs.readFileSync
) throw
للإبلاغ عن الأخطاء.
يمكن الإبلاغ عن الأخطاء التي تحدث داخل واجهات برمجة التطبيقات غير المتزامنة بعدة طرق:
- تقوم بعض الطرق غير المتزامنة بإرجاع <Promise>، يجب عليك دائمًا أن تأخذ في الاعتبار أنه قد يتم رفضها. راجع علامة
--unhandled-rejections
لمعرفة كيفية تفاعل العملية مع رفض الوعد الذي لم يتم التعامل معه. - تقبل معظم الطرق غير المتزامنة التي تقبل وظيفة
callback
كائنError
يتم تمريره كوسيطة أولى لتلك الوظيفة. إذا كانت الوسيطة الأولى ليستnull
وكانت نسخة منError
، فقد حدث خطأ يجب معالجته. - عندما يتم استدعاء طريقة غير متزامنة على كائن هو
EventEmitter
، يمكن توجيه الأخطاء إلى حدث'error'
الخاص بهذا الكائن. - قد تستمر حفنة من الطرق غير المتزامنة عادةً في واجهة برمجة تطبيقات Node.js في استخدام آلية
throw
لإثارة استثناءات يجب معالجتها باستخدامtry…catch
. لا توجد قائمة شاملة بهذه الطرق؛ يرجى الرجوع إلى وثائق كل طريقة لتحديد آلية معالجة الأخطاء المناسبة المطلوبة.
يعتبر استخدام آلية حدث 'error'
هو الأكثر شيوعًا لواجهات برمجة التطبيقات القائمة على التدفق و القائمة على باعث الأحداث، والتي تمثل سلسلة من العمليات غير المتزامنة بمرور الوقت (على عكس عملية واحدة قد تنجح أو تفشل).
بالنسبة لجميع كائنات EventEmitter
، إذا لم يتم توفير معالج حدث 'error'
، فسيتم طرح الخطأ، مما يتسبب في إبلاغ عملية Node.js عن استثناء غير معالج وتعطله ما لم يكن: تم تسجيل معالج لحدث 'uncaughtException'
، أو يتم استخدام وحدة node:domain
المهملة.
const EventEmitter = require('node:events');
const ee = new EventEmitter();
setImmediate(() => {
// سيؤدي هذا إلى تعطيل العملية لأنه لم تتم إضافة معالج حدث 'error'.
ee.emit('error', new Error('سيؤدي هذا إلى التعطيل'));
});
لا يمكن اعتراض الأخطاء التي تم إنشاؤها بهذه الطريقة باستخدام try…catch
لأنها تُطرح بعد خروج الشفرة المستدعية بالفعل.
يجب على المطورين الرجوع إلى وثائق كل طريقة لتحديد كيفية نشر الأخطاء التي تثيرها تلك الطرق بالضبط.
الصنف: Error
كائن JavaScript عام <Error> لا يدل على أي ظرف محدد لسبب وقوع الخطأ. تحتفظ كائنات Error
بـ "تتبع المكدس" الذي يفصل النقطة في الكود التي تم فيها إنشاء Error
، وقد يوفر وصفًا نصيًا للخطأ.
جميع الأخطاء التي تم إنشاؤها بواسطة Node.js، بما في ذلك جميع أخطاء النظام و JavaScript، ستكون إما مثيلات من الصنف Error
أو ترث منه.
new Error(message[, options])
ينشئ كائن Error
جديدًا ويضبط الخاصية error.message
على الرسالة النصية المقدمة. إذا تم تمرير كائن كـ message
، فسيتم إنشاء الرسالة النصية عن طريق استدعاء String(message)
. إذا تم توفير الخيار cause
، فسيتم تعيينه للخاصية error.cause
. ستمثل الخاصية error.stack
النقطة في الكود التي تم فيها استدعاء new Error()
. تعتمد تتبعات المكدس على واجهة برمجة تطبيقات تتبع المكدس 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('استجاب خادم HTTP البعيد بحالة 500');
const symptom = new Error('فشل إرسال الرسالة', { cause });
console.log(symptom);
// يطبع:
// Error: فشل إرسال الرسالة
// at REPL2:1:17
// at Script.runInThisContext (node:vm:130:12)
// ... 7 أسطر تطابق تتبع مكدس السبب ...
// at [_line] [as _line] (node:internal/readline/interface:886:18) {
// [cause]: Error: استجاب خادم HTTP البعيد بحالة 500
// at REPL1:1:15
// at Script.runInThisContext (node:vm:130:12)
// at REPLServer.defaultEval (node:repl:574:29)
// at bound (node:domain:426:15)
// at REPLServer.runBound [as eval] (node:domain:437:12)
// at REPLServer.onLine (node:repl:902:10)
// at REPLServer.emit (node:events:549:35)
// at REPLServer.emit (node:domain:482:12)
// at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
// at [_line] [as _line] (node:internal/readline/interface:886:18)
error.code
خاصية error.code
هي تسمية نصية تحدد نوع الخطأ. تُعد error.code
الطريقة الأكثر استقرارًا لتحديد الخطأ. ستتغير فقط بين الإصدارات الرئيسية من Node.js. على النقيض من ذلك، قد تتغير سلاسل error.message
بين أي إصدارات من Node.js. راجع رموز خطأ Node.js للحصول على تفاصيل حول رموز معينة.
error.message
خاصية error.message
هي الوصف النصي للخطأ كما تم تعيينه عن طريق استدعاء new Error(message)
. ستظهر message
التي تم تمريرها إلى الدالة الإنشائية أيضًا في السطر الأول من تتبع مكدس Error
، ومع ذلك، قد لا يؤدي تغيير هذه الخاصية بعد إنشاء كائن Error
إلى تغيير السطر الأول من تتبع المكدس (على سبيل المثال، عندما تتم قراءة error.stack
قبل تغيير هذه الخاصية).
const err = new Error('The message');
console.error(err.message);
// Prints: 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)
يتم تنسيق السطر الأول كـ \<error class name\>: \<error message\>
، ويتبعه سلسلة من إطارات المكدس (يبدأ كل سطر بـ "at "). يصف كل إطار موقع استدعاء داخل التعليمات البرمجية أدى إلى إنشاء الخطأ. تحاول V8 عرض اسم لكل دالة (عن طريق اسم المتغير أو اسم الدالة أو اسم طريقة الكائن)، ولكن في بعض الأحيان لن تتمكن من العثور على اسم مناسب. إذا تعذر على V8 تحديد اسم للدالة، فسيتم عرض معلومات الموقع فقط لهذا الإطار. بخلاف ذلك، سيتم عرض اسم الدالة المحدد مع معلومات الموقع الملحقة بين قوسين.
يتم إنشاء الإطارات فقط لوظائف JavaScript. على سبيل المثال، إذا مر التنفيذ بشكل متزامن عبر وظيفة C++ إضافية تسمى cheetahify
والتي بدورها تستدعي وظيفة JavaScript، فلن يكون الإطار الذي يمثل استدعاء cheetahify
موجودًا في تتبعات المكدس:
const cheetahify = require('./native-binding.node');
function makeFaster() {
// `cheetahify()` *synchronously* calls speedy.
cheetahify(function speedy() {
throw new Error('oh no!');
});
}
makeFaster();
// will throw:
// /home/gbusey/file.js:6
// throw new Error('oh no!');
// ^
// Error: oh no!
// at speedy (/home/gbusey/file.js:6:11)
// at makeFaster (/home/gbusey/file.js:5:3)
// at Object.<anonymous> (/home/gbusey/file.js:10:1)
// at Module._compile (module.js:456:26)
// at Object.Module._extensions..js (module.js:474:10)
// at Module.load (module.js:356:32)
// at Function.Module._load (module.js:312:12)
// at Function.Module.runMain (module.js:497:10)
// at startup (node.js:119:16)
// at node.js:906:3
ستكون معلومات الموقع واحدة مما يلي:
native
، إذا كان الإطار يمثل استدعاءً داخليًا لـ V8 (كما في[].forEach
).plain-filename.js:line:column
، إذا كان الإطار يمثل استدعاءً داخليًا لـ Node.js./absolute/path/to/file.js:line:column
، إذا كان الإطار يمثل استدعاءً في برنامج مستخدم (باستخدام نظام وحدة CommonJS)، أو تبعياته.\<transport-protocol\>:///url/to/module/file.mjs:line:column
، إذا كان الإطار يمثل استدعاءً في برنامج مستخدم (باستخدام نظام وحدة ES)، أو تبعياته.
يتم إنشاء السلسلة التي تمثل تتبع المكدس ببطء عند الوصول إلى خاصية error.stack
.
يتم تحديد عدد الإطارات التي يتم التقاطها بواسطة تتبع المكدس بالأصغر من Error.stackTraceLimit
أو عدد الإطارات المتاحة في تكتكة حلقة الأحداث الحالية.
الفئة: AssertionError
- يمتد: <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 Error handling
.
في نظام التشغيل Windows، سيتم تطبيع رقم الخطأ المقدم من قبل النظام بواسطة libuv.
للحصول على التمثيل النصي لرمز الخطأ، استخدم util.getSystemErrorName(error.errno)
.
error.info
إذا كانت موجودة، فإن error.info
عبارة عن كائن يحتوي على تفاصيل حول حالة الخطأ.
error.message
error.message
هو وصف مقدم من النظام يمكن للبشر قراءته للخطأ.
error.path
إذا كانت موجودة، فإن error.path
عبارة عن سلسلة تحتوي على اسم مسار غير صالح ذي صلة.
error.port
إذا كانت موجودة، فإن error.port
هو منفذ اتصال الشبكة غير المتاح.
error.syscall
الخاصية error.syscall
عبارة عن سلسلة تصف استدعاء النظام الذي فشل.
أخطاء النظام الشائعة
هذه قائمة بأخطاء النظام الشائعة التي تواجهها عند كتابة برنامج Node.js. للحصول على قائمة شاملة، راجع errno
(3) man page.
EACCES
(مرفوض الوصول): تمت محاولة الوصول إلى ملف بطريقة محظورة بموجب أذونات الوصول إلى الملف.EADDRINUSE
(العنوان قيد الاستخدام بالفعل): فشلت محاولة ربط خادم (net
،http
، أوhttps
) بعنوان محلي بسبب وجود خادم آخر على النظام المحلي يشغل هذا العنوان بالفعل.ECONNREFUSED
(تم رفض الاتصال): تعذر إجراء أي اتصال لأن الجهاز الهدف رفضه بنشاط. ينتج هذا عادةً عن محاولة الاتصال بخدمة غير نشطة على المضيف الأجنبي.ECONNRESET
(تمت إعادة تعيين الاتصال من قبل النظير): تم إغلاق الاتصال قسرًا بواسطة نظير. ينتج هذا عادةً عن فقدان الاتصال على المقبس البعيد بسبب انتهاء المهلة أو إعادة التشغيل. يشيع مواجهته عبر وحداتhttp
وnet
.EEXIST
(الملف موجود): كان ملف موجود هو هدف عملية تتطلب عدم وجود الهدف.EISDIR
(هو دليل): توقعت عملية ملفًا، ولكن كان المسار المحدد عبارة عن دليل.EMFILE
(عدد كبير جدًا من الملفات المفتوحة في النظام): تم الوصول إلى الحد الأقصى لعدد واصفات الملفات المسموح به في النظام، ولا يمكن تلبية طلبات واصف آخر حتى يتم إغلاق واحد على الأقل. تتم مواجهة هذا عند فتح العديد من الملفات في وقت واحد بالتوازي، خاصة على الأنظمة (على وجه الخصوص، macOS) حيث يوجد حد منخفض لواصف الملفات للعمليات. لعلاج الحد المنخفض، قم بتشغيلulimit -n 2048
في نفس shell الذي سيشغل عملية Node.js.ENOENT
(لا يوجد مثل هذا الملف أو الدليل): يتم رفعه بشكل شائع بواسطة عملياتfs
للإشارة إلى أن أحد مكونات المسار المحدد غير موجود. لم يتم العثور على أي كيان (ملف أو دليل) بالمسار المحدد.ENOTDIR
(ليس دليلًا): كان أحد مكونات المسار المحدد موجودًا، ولكنه لم يكن دليلًا كما هو متوقع. يتم رفعه بشكل شائع بواسطةfs.readdir
.ENOTEMPTY
(الدليل غير فارغ): كان الدليل الذي يحتوي على إدخالات هو هدف عملية تتطلب دليلًا فارغًا، عادةًfs.unlink
.ENOTFOUND
(فشل البحث عن DNS): يشير إلى فشل DNS إماEAI_NODATA
أوEAI_NONAME
. هذا ليس خطأ POSIX قياسي.EPERM
(العملية غير مسموح بها): تمت محاولة إجراء عملية تتطلب امتيازات عالية.EPIPE
(أنبوب مكسور): كتابة على أنبوب أو مقبس أو FIFO لا يوجد عملية لقراءة البيانات لها. يشيع مواجهته في طبقاتnet
وhttp
، مما يشير إلى أن الجانب البعيد من الدفق الذي يتم الكتابة إليه قد تم إغلاقه.ETIMEDOUT
(انتهت مهلة العملية): فشل طلب اتصال أو إرسال لأن الطرف المتصل لم يستجب بشكل صحيح بعد فترة من الزمن. عادة ما يتم مواجهته بواسطةhttp
أوnet
. غالبًا ما يكون علامة على عدم استدعاءsocket.end()
بشكل صحيح.
الصنف: TypeError
- يمتد من <errors.Error>
يشير إلى أن الوسيطة المقدمة ليست نوعًا مسموحًا به. على سبيل المثال، تمرير دالة إلى معلمة تتوقع سلسلة سيكون TypeError
.
require('node:url').parse(() => { });
// يطرح TypeError، لأنه توقع سلسلة.
سيقوم Node.js بإنشاء وطرح مثيلات TypeError
على الفور كشكل من أشكال التحقق من صحة الوسيطة.
الاستثناءات مقابل الأخطاء
الاستثناء في JavaScript هو قيمة يتم طرحها نتيجة لعملية غير صالحة أو كهدف لعبارة throw
. على الرغم من أنه ليس مطلوبًا أن تكون هذه القيم مثيلات لـ Error
أو فئات ترث من Error
، إلا أن جميع الاستثناءات التي يتم طرحها بواسطة Node.js أو وقت تشغيل JavaScript ستكون مثيلات لـ Error
.
بعض الاستثناءات غير قابلة للاسترداد في طبقة JavaScript. ستتسبب هذه الاستثناءات دائمًا في تعطل عملية Node.js. تتضمن الأمثلة فحوصات assert()
أو استدعاءات abort()
في طبقة C++.
أخطاء OpenSSL
الأخطاء التي تنشأ في crypto
أو tls
هي من الفئة Error
، بالإضافة إلى خصائص .code
و .message
القياسية، قد تحتوي على بعض الخصائص الإضافية الخاصة بـ OpenSSL.
error.opensslErrorStack
مجموعة من الأخطاء التي يمكن أن تعطي سياقًا لمكان نشأة الخطأ في مكتبة OpenSSL.
error.function
دالة OpenSSL التي نشأ فيها الخطأ.
error.library
مكتبة OpenSSL التي نشأ فيها الخطأ.
error.reason
سلسلة قابلة للقراءة بواسطة الإنسان تصف سبب الخطأ.
رموز خطأ Node.js
ABORT_ERR
تمت إضافته في: v15.0.0
يستخدم عندما يتم إحباط عملية (عادةً باستخدام AbortController
).
واجهات برمجة التطبيقات التي لا تستخدم AbortSignal
عادةً لا تثير خطأ بهذا الرمز.
لا يستخدم هذا الرمز اصطلاح ERR_*
المنتظم الذي تستخدمه أخطاء Node.js ليكون متوافقًا مع AbortError
الخاص بمنصة الويب.
ERR_ACCESS_DENIED
نوع خاص من الأخطاء يتم تشغيله عندما يحاول Node.js الوصول إلى مورد مقيد بواسطة نموذج الأذونات.
ERR_AMBIGUOUS_ARGUMENT
يتم استخدام وسيطة دالة بطريقة تشير إلى أن توقيع الدالة قد يكون غير مفهوم. يتم إطلاق هذا الخطأ بواسطة وحدة node:assert
عندما تتطابق معلمة message
في assert.throws(block, message)
مع رسالة الخطأ التي تم إطلاقها بواسطة block
لأن هذا الاستخدام يشير إلى أن المستخدم يعتقد أن message
هي الرسالة المتوقعة بدلاً من الرسالة التي ستعرضها AssertionError
إذا لم يطلق block
أي خطأ.
ERR_ARG_NOT_ITERABLE
مطلوب وسيطة قابلة للتكرار (مثل قيمة تعمل مع حلقات for...of
)، ولكن لم يتم توفيرها لواجهة برمجة تطبيقات Node.js.
ERR_ASSERTION
نوع خاص من الأخطاء يمكن تشغيله متى اكتشف Node.js انتهاكًا منطقيًا استثنائيًا لا ينبغي أن يحدث أبدًا. يتم رفع هذه الأخطاء عادةً بواسطة وحدة node:assert
.
ERR_ASYNC_CALLBACK
تمت محاولة تسجيل شيء ليس دالة كـ AsyncHooks
callback.
ERR_ASYNC_TYPE
كان نوع مورد غير متزامن غير صالح. يمكن للمستخدمين أيضًا تحديد أنواعهم الخاصة إذا كانوا يستخدمون واجهة برمجة تطبيقات التضمين العامة.
ERR_BROTLI_COMPRESSION_FAILED
لم يتم ضغط البيانات التي تم تمريرها إلى دفق Brotli بنجاح.
ERR_BROTLI_INVALID_PARAM
تم تمرير مفتاح معلمة غير صالح أثناء إنشاء دفق Brotli.
ERR_BUFFER_CONTEXT_NOT_AVAILABLE
تمت محاولة إنشاء مثيل Buffer
من Node.js من كود الإضافة أو التضمين، أثناء وجوده في سياق محرك JS غير مرتبط بمثيل Node.js. سيتم تحرير البيانات التي تم تمريرها إلى طريقة Buffer
بحلول وقت إرجاع الطريقة.
عند مواجهة هذا الخطأ، البديل المحتمل لإنشاء مثيل Buffer
هو إنشاء Uint8Array
عادي، والذي يختلف فقط في النموذج الأولي للكائن الناتج. يتم قبول Uint8Array
s عمومًا في جميع واجهات برمجة تطبيقات Node.js الأساسية حيث توجد Buffer
s؛ وهي متوفرة في جميع السياقات.
ERR_BUFFER_OUT_OF_BOUNDS
تمت محاولة إجراء عملية خارج حدود Buffer
.
ERR_BUFFER_TOO_LARGE
تمت محاولة إنشاء Buffer
أكبر من الحجم الأقصى المسموح به.
ERR_CANNOT_WATCH_SIGINT
تعذر على Node.js مراقبة إشارة SIGINT
.
ERR_CHILD_CLOSED_BEFORE_REPLY
تم إغلاق عملية فرعية قبل أن يتلقى الأصل ردًا.
ERR_CHILD_PROCESS_IPC_REQUIRED
يستخدم عند تفرع عملية فرعية دون تحديد قناة IPC.
ERR_CHILD_PROCESS_STDIO_MAXBUFFER
يستخدم عندما تحاول العملية الرئيسية قراءة بيانات من STDERR/STDOUT للعملية الفرعية، وكان طول البيانات أطول من خيار maxBuffer
.
ERR_CLOSED_MESSAGE_PORT
[السجل]
الإصدار | التغييرات |
---|---|
الإصدار 16.2.0، الإصدار 14.17.1 | تمت إعادة تقديم رسالة الخطأ. |
الإصدار 11.12.0 | تمت إزالة رسالة الخطأ. |
الإصدار 10.5.0 | تمت إضافته في: الإصدار 10.5.0 |
كانت هناك محاولة لاستخدام مثيل MessagePort
في حالة مغلقة، عادة بعد استدعاء .close()
.
ERR_CONSOLE_WRITABLE_STREAM
تم إنشاء Console
بدون دفق stdout
، أو أن Console
لديه دفق stdout
أو stderr
غير قابل للكتابة.
ERR_CONSTRUCT_CALL_INVALID
تمت الإضافة في: الإصدار 12.5.0
تم استدعاء مُنشئ فئة غير قابل للاستدعاء.
ERR_CONSTRUCT_CALL_REQUIRED
تم استدعاء مُنشئ لفئة بدون new
.
ERR_CONTEXT_NOT_INITIALIZED
لم تتم تهيئة سياق vm الذي تم تمريره إلى واجهة برمجة التطبيقات بعد. يمكن أن يحدث هذا عند حدوث خطأ (ويتم التقاطه) أثناء إنشاء السياق، على سبيل المثال، عندما يفشل التخصيص أو يتم الوصول إلى الحد الأقصى لحجم مكدس الاستدعاءات عند إنشاء السياق.
ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED
تم طلب محرك OpenSSL (على سبيل المثال، من خلال خيارات TLS clientCertEngine
أو privateKeyEngine
) غير مدعوم من قبل إصدار OpenSSL المستخدم، على الأرجح بسبب علامة وقت التحويل البرمجي OPENSSL_NO_ENGINE
.
ERR_CRYPTO_ECDH_INVALID_FORMAT
تم تمرير قيمة غير صالحة للوسيطة format
إلى طريقة getPublicKey()
لفئة crypto.ECDH()
.
ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY
تم تمرير قيمة غير صالحة للوسيطة key
إلى طريقة computeSecret()
لفئة crypto.ECDH()
. هذا يعني أن المفتاح العام يقع خارج المنحنى الإهليلجي.
ERR_CRYPTO_ENGINE_UNKNOWN
تم تمرير مُعرّف مُحرّك تشفير غير صالح إلى require('node:crypto').setEngine()
.
ERR_CRYPTO_FIPS_FORCED
تم استخدام وسيط سطر الأوامر --force-fips
ولكن كانت هناك محاولة لتمكين أو تعطيل وضع FIPS في وحدة node:crypto
.
ERR_CRYPTO_FIPS_UNAVAILABLE
تمت محاولة لتمكين أو تعطيل وضع FIPS، ولكن وضع FIPS لم يكن متاحًا.
ERR_CRYPTO_HASH_FINALIZED
تم استدعاء hash.digest()
عدة مرات. يجب استدعاء طريقة hash.digest()
مرة واحدة على الأكثر لكل مثيل لكائن Hash
.
ERR_CRYPTO_HASH_UPDATE_FAILED
فشل hash.update()
لأي سبب من الأسباب. نادرًا ما يحدث هذا، إن حدث على الإطلاق.
ERR_CRYPTO_INCOMPATIBLE_KEY
مفاتيح التشفير المحددة غير متوافقة مع العملية التي تتم محاولتها.
ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS
ترميز المفتاح العام أو الخاص المحدد غير متوافق مع خيارات أخرى.
ERR_CRYPTO_INITIALIZATION_FAILED
تمت إضافتها في: v15.0.0
فشل تهيئة نظام التشفير الفرعي.
ERR_CRYPTO_INVALID_AUTH_TAG
تمت إضافتها في: v15.0.0
تم توفير علامة مصادقة غير صالحة.
ERR_CRYPTO_INVALID_COUNTER
تمت إضافتها في: v15.0.0
تم توفير عداد غير صالح لشفرة في وضع العداد.
ERR_CRYPTO_INVALID_CURVE
تمت إضافتها في: v15.0.0
تم توفير منحنى إهليلجي غير صالح.
ERR_CRYPTO_INVALID_DIGEST
تم تحديد خوارزمية تلخيص تشفير غير صالحة.
ERR_CRYPTO_INVALID_IV
تمت إضافتها في: v15.0.0
تم توفير متجه تهيئة غير صالح.
ERR_CRYPTO_INVALID_JWK
تمت إضافتها في: v15.0.0
تم توفير مفتاح ويب JSON غير صالح.
ERR_CRYPTO_INVALID_KEYLEN
تمت إضافتها في: v15.0.0
تم توفير طول مفتاح غير صالح.
ERR_CRYPTO_INVALID_KEYPAIR
تمت إضافتها في: v15.0.0
تم توفير زوج مفاتيح غير صالح.
ERR_CRYPTO_INVALID_KEYTYPE
تمت إضافتها في: v15.0.0
تم توفير نوع مفتاح غير صالح.
ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE
نوع كائن مفتاح التشفير المعطى غير صالح للعملية التي تتم محاولتها.
ERR_CRYPTO_INVALID_MESSAGELEN
إضافة في: الإصدار v15.0.0
تم توفير طول رسالة غير صالح.
ERR_CRYPTO_INVALID_SCRYPT_PARAMS
إضافة في: الإصدار v15.0.0
واحد أو أكثر من معاملات crypto.scrypt()
أو crypto.scryptSync()
تقع خارج نطاقها القانوني.
ERR_CRYPTO_INVALID_STATE
تم استخدام طريقة تشفير على كائن في حالة غير صالحة. على سبيل المثال، استدعاء cipher.getAuthTag()
قبل استدعاء cipher.final()
.
ERR_CRYPTO_INVALID_TAG_LENGTH
إضافة في: الإصدار v15.0.0
تم توفير طول علامة مصادقة غير صالح.
ERR_CRYPTO_JOB_INIT_FAILED
إضافة في: الإصدار v15.0.0
فشل تهيئة عملية تشفير غير متزامنة.
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
منحنى إهليلجي للمفتاح غير مسجل للاستخدام في سجل منحنى إهليلجي لمفتاح الويب JSON.
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
نوع المفتاح غير المتماثل للمفتاح غير مسجل للاستخدام في سجل أنواع مفاتيح الويب JSON.
ERR_CRYPTO_OPERATION_FAILED
إضافة في: الإصدار v15.0.0
فشلت عملية تشفير لسبب غير محدد بخلاف ذلك.
ERR_CRYPTO_PBKDF2_ERROR
فشلت خوارزمية PBKDF2 لأسباب غير محددة. لا يوفر OpenSSL المزيد من التفاصيل، وبالتالي لا يوفر Node.js أيضًا.
ERR_CRYPTO_SCRYPT_NOT_SUPPORTED
تم تجميع Node.js بدون دعم scrypt
. هذا غير ممكن مع الإصدارات الثنائية الرسمية ولكن يمكن أن يحدث مع الإصدارات المخصصة، بما في ذلك إصدارات التوزيع.
ERR_CRYPTO_SIGN_KEY_REQUIRED
لم يتم توفير key
توقيع لطريقة sign.sign()
.
ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH
تم استدعاء crypto.timingSafeEqual()
مع وسيطات Buffer
أو TypedArray
أو DataView
بأطوال مختلفة.
ERR_CRYPTO_UNKNOWN_CIPHER
تم تحديد شيفرة غير معروفة.
ERR_CRYPTO_UNKNOWN_DH_GROUP
تم إعطاء اسم مجموعة Diffie-Hellman غير معروفة. انظر crypto.getDiffieHellman()
للحصول على قائمة بأسماء المجموعات الصالحة.
ERR_CRYPTO_UNSUPPORTED_OPERATION
تمت إضافته في: v15.0.0، v14.18.0
تمت محاولة استدعاء عملية تشفير غير مدعومة.
ERR_DEBUGGER_ERROR
تمت إضافته في: v16.4.0، v14.17.4
حدث خطأ في مصحح الأخطاء.
ERR_DEBUGGER_STARTUP_ERROR
تمت إضافته في: v16.4.0، v14.17.4
انتهت مهلة مصحح الأخطاء في انتظار تحرير المضيف/المنفذ المطلوب.
ERR_DIR_CLOSED
تم إغلاق fs.Dir
مسبقًا.
ERR_DIR_CONCURRENT_OPERATION
تمت إضافته في: v14.3.0
تمت محاولة إجراء قراءة متزامنة أو استدعاء إغلاق على fs.Dir
لديها عمليات غير متزامنة مستمرة.
ERR_DLOPEN_DISABLED
تمت إضافته في: v16.10.0، v14.19.0
تم تعطيل تحميل الوظائف الإضافية الأصلية باستخدام --no-addons
.
ERR_DLOPEN_FAILED
تمت إضافته في: v15.0.0
فشل استدعاء process.dlopen()
.
ERR_DNS_SET_SERVERS_FAILED
فشل c-ares
في تعيين خادم DNS.
ERR_DOMAIN_CALLBACK_NOT_AVAILABLE
وحدة node:domain
غير قابلة للاستخدام لأنها لم تتمكن من إنشاء خطافات معالجة الأخطاء المطلوبة، لأن process.setUncaughtExceptionCaptureCallback()
تم استدعاؤها في وقت سابق.
ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE
لا يمكن استدعاء process.setUncaughtExceptionCaptureCallback()
لأن وحدة node:domain
تم تحميلها في وقت سابق.
يتم تمديد تتبع المكدس ليشمل النقطة الزمنية التي تم فيها تحميل وحدة node:domain
.
ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION
لا يمكن استدعاء v8.startupSnapshot.setDeserializeMainFunction()
لأنه تم استدعاؤها بالفعل من قبل.
ERR_ENCODING_INVALID_ENCODED_DATA
البيانات المقدمة إلى واجهة برمجة التطبيقات TextDecoder()
كانت غير صالحة وفقًا للترميز المقدم.
ERR_ENCODING_NOT_SUPPORTED
الترميز المقدم إلى واجهة برمجة التطبيقات TextDecoder()
لم يكن واحدًا من الترميزات المدعومة من WHATWG.
ERR_EVAL_ESM_CANNOT_PRINT
لا يمكن استخدام --print
مع إدخال ESM.
ERR_EVENT_RECURSION
يتم طرحه عند محاولة إرسال حدث بشكل متكرر على EventTarget
.
ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE
سياق تنفيذ JS غير مرتبط ببيئة Node.js. قد يحدث هذا عندما يتم استخدام Node.js كمكتبة مضمنة ولم يتم إعداد بعض الخطافات لمحرك JS بشكل صحيح.
ERR_FALSY_VALUE_REJECTION
تم رفض Promise
تم استدعاؤه عبر util.callbackify()
بقيمة خاطئة.
ERR_FEATURE_UNAVAILABLE_ON_PLATFORM
تمت إضافته في: v14.0.0
يُستخدم عندما يتم استخدام ميزة غير متوفرة للنظام الأساسي الحالي الذي يقوم بتشغيل Node.js.
ERR_FS_CP_DIR_TO_NON_DIR
تمت إضافته في: v16.7.0
تمت محاولة نسخ دليل إلى غير دليل (ملف، رابط رمزي، إلخ) باستخدام fs.cp()
.
ERR_FS_CP_EEXIST
تمت إضافته في: v16.7.0
تمت محاولة النسخ فوق ملف موجود بالفعل باستخدام fs.cp()
، مع تعيين force
و errorOnExist
على true
.
ERR_FS_CP_EINVAL
تمت إضافته في: v16.7.0
عند استخدام fs.cp()
، أشار src
أو dest
إلى مسار غير صالح.
ERR_FS_CP_FIFO_PIPE
تمت إضافته في: v16.7.0
تمت محاولة نسخ أنبوب مسمى باستخدام fs.cp()
.
ERR_FS_CP_NON_DIR_TO_DIR
تمت إضافته في: v16.7.0
تمت محاولة نسخ غير دليل (ملف، رابط رمزي، إلخ) إلى دليل باستخدام fs.cp()
.
ERR_FS_CP_SOCKET
تمت إضافته في: v16.7.0
تمت محاولة النسخ إلى مقبس باستخدام fs.cp()
.
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
عندما يتم إرسال إطار SETTINGS
لـ HTTP/2 إلى نظير متصل، يُطلب من النظير إرسال إقرار بأنه قد استلم وطبق SETTINGS
الجديدة. بشكل افتراضي، يمكن إرسال عدد أقصى من إطارات SETTINGS
غير المقر بها في أي وقت معين. يُستخدم رمز الخطأ هذا عند الوصول إلى هذا الحد.
ERR_HTTP2_NESTED_PUSH
تمت محاولة بدء دفق دفع جديد من داخل دفق دفع. لا يُسمح بدفقات الدفع المتداخلة.
ERR_HTTP2_NO_MEM
نفاد الذاكرة عند استخدام واجهة برمجة التطبيقات http2session.setLocalWindowSize(windowSize)
.
ERR_HTTP2_NO_SOCKET_MANIPULATION
تمت محاولة معالجة (قراءة وكتابة وإيقاف مؤقت واستئناف وما إلى ذلك) مقبس متصل بـ Http2Session
بشكل مباشر.
ERR_HTTP2_ORIGIN_LENGTH
يقتصر طول إطارات HTTP/2 ORIGIN
على 16382 بايت.
ERR_HTTP2_OUT_OF_STREAMS
وصل عدد التدفقات التي تم إنشاؤها في جلسة HTTP/2 واحدة إلى الحد الأقصى.
ERR_HTTP2_PAYLOAD_FORBIDDEN
تم تحديد حمولة رسالة لرمز استجابة HTTP يحظر الحمولة.
ERR_HTTP2_PING_CANCEL
تم إلغاء اختبار اتصال HTTP/2.
ERR_HTTP2_PING_LENGTH
يجب أن يكون طول حمولات اختبار اتصال HTTP/2 بالضبط 8 بايت.
ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED
تم استخدام عنوان HTTP/2 زائف بشكل غير لائق. العناوين الزائفة هي أسماء مفاتيح العناوين التي تبدأ بالبادئة :
.
ERR_HTTP2_PUSH_DISABLED
تمت محاولة إنشاء تدفق دفع، والذي تم تعطيله بواسطة العميل.
ERR_HTTP2_SEND_FILE
تمت محاولة استخدام واجهة برمجة التطبيقات Http2Stream.prototype.responseWithFile()
لإرسال دليل.
ERR_HTTP2_SEND_FILE_NOSEEK
تمت محاولة استخدام واجهة برمجة التطبيقات Http2Stream.prototype.responseWithFile()
لإرسال شيء آخر غير ملف عادي، ولكن تم توفير خيارات offset
أو length
.
ERR_HTTP2_SESSION_ERROR
تم إغلاق Http2Session
برمز خطأ غير صفري.
ERR_HTTP2_SETTINGS_CANCEL
تم إلغاء إعدادات Http2Session
.
ERR_HTTP2_SOCKET_BOUND
تمت محاولة توصيل كائن Http2Session
بـ net.Socket
أو tls.TLSSocket
تم ربطه بالفعل بكائن Http2Session
آخر.
ERR_HTTP2_SOCKET_UNBOUND
تمت محاولة استخدام خاصية socket
الخاصة بـ Http2Session
التي تم إغلاقها بالفعل.
ERR_HTTP2_STATUS_101
يحظر استخدام رمز الحالة المعلوماتي 101
في HTTP/2.
ERR_HTTP2_STATUS_INVALID
تم تحديد رمز حالة HTTP غير صالح. يجب أن تكون رموز الحالة عددًا صحيحًا بين 100
و 599
(شاملة).
ERR_HTTP2_STREAM_CANCEL
تم تدمير Http2Stream
قبل إرسال أي بيانات إلى النظير المتصل.
ERR_HTTP2_STREAM_ERROR
تم تحديد رمز خطأ غير صفري في إطار RST_STREAM
.
ERR_HTTP2_STREAM_SELF_DEPENDENCY
عند تعيين أولوية لتدفق HTTP/2، يمكن تمييز التدفق كتابعية لتدفق رئيسي. يتم استخدام رمز الخطأ هذا عند محاولة تمييز تدفق كتابعية لنفسه.
ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS
تم تجاوز عدد الإعدادات المخصصة المدعومة (10).
ERR_HTTP2_TOO_MANY_INVALID_FRAMES
تمت الإضافة في: v15.14.0
تم تجاوز الحد الأقصى لإطارات بروتوكول HTTP/2 غير الصالحة المقبولة والمرسلة من النظير، كما هو محدد عبر خيار maxSessionInvalidFrames
.
ERR_HTTP2_TRAILERS_ALREADY_SENT
تم إرسال تذييلات الرأس بالفعل على Http2Stream
.
ERR_HTTP2_TRAILERS_NOT_READY
لا يمكن استدعاء الطريقة http2stream.sendTrailers()
إلا بعد انبعاث الحدث 'wantTrailers'
على كائن Http2Stream
. سيتم انبعاث الحدث 'wantTrailers'
فقط إذا تم تعيين خيار waitForTrailers
لـ Http2Stream
.
ERR_HTTP2_UNSUPPORTED_PROTOCOL
تم تمرير عنوان URL إلى http2.connect()
يستخدم أي بروتوكول بخلاف http:
أو https:
.
ERR_HTTP_BODY_NOT_ALLOWED
يتم طرح خطأ عند الكتابة إلى استجابة HTTP لا تسمح بالمحتويات.
ERR_HTTP_CONTENT_LENGTH_MISMATCH
حجم نص الاستجابة لا يتطابق مع قيمة رأس طول المحتوى المحدد.
ERR_HTTP_HEADERS_SENT
تمت محاولة إضافة المزيد من الرؤوس بعد إرسال الرؤوس بالفعل.
ERR_HTTP_INVALID_HEADER_VALUE
تم تحديد قيمة رأس HTTP غير صالحة.
ERR_HTTP_INVALID_STATUS_CODE
كان رمز الحالة خارج نطاق رمز الحالة العادي (100-999).
ERR_HTTP_REQUEST_TIMEOUT
لم يرسل العميل الطلب بأكمله خلال الوقت المسموح به.
ERR_HTTP_SOCKET_ASSIGNED
تم بالفعل تعيين مقبس إلى ServerResponse
المحدد.
ERR_HTTP_SOCKET_ENCODING
تغيير ترميز المقبس غير مسموح به وفقًا لـ RFC 7230 القسم 3.
ERR_HTTP_TRAILER_INVALID
تم تعيين رأس Trailer
على الرغم من أن ترميز النقل لا يدعم ذلك.
ERR_ILLEGAL_CONSTRUCTOR
تمت محاولة إنشاء كائن باستخدام مُنشئ غير عام.
ERR_IMPORT_ATTRIBUTE_MISSING
تمت الإضافة في: v21.1.0
سمة الاستيراد مفقودة، مما يمنع استيراد الوحدة النمطية المحددة.
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
تمت الإضافة في: الإصدار 21.1.0
تم توفير سمة type
للاستيراد، ولكن نوع الوحدة النمطية المحددة مختلف.
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
تمت الإضافة في: الإصدار 21.0.0، الإصدار 20.10.0، الإصدار 18.19.0
سمة الاستيراد غير مدعومة في هذا الإصدار من Node.js.
ERR_INCOMPATIBLE_OPTION_PAIR
هناك زوج من الخيارات غير متوافقين مع بعضهما البعض ولا يمكن استخدامهما في نفس الوقت.
ERR_INPUT_TYPE_NOT_ALLOWED
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
تم استخدام علامة --input-type
لمحاولة تنفيذ ملف. يمكن استخدام هذه العلامة فقط مع الإدخال عبر --eval
أو --print
أو STDIN
.
ERR_INSPECTOR_ALREADY_ACTIVATED
أثناء استخدام الوحدة النمطية node:inspector
، تم إجراء محاولة لتنشيط الفاحص عندما بدأ بالفعل في الاستماع على منفذ. استخدم inspector.close()
قبل تنشيطه على عنوان مختلف.
ERR_INSPECTOR_ALREADY_CONNECTED
أثناء استخدام الوحدة النمطية node:inspector
، تم إجراء محاولة للاتصال عندما كان الفاحص متصلاً بالفعل.
ERR_INSPECTOR_CLOSED
أثناء استخدام الوحدة النمطية node:inspector
، تم إجراء محاولة لاستخدام الفاحص بعد إغلاق الجلسة بالفعل.
ERR_INSPECTOR_COMMAND
حدث خطأ أثناء إصدار أمر عبر الوحدة النمطية node:inspector
.
ERR_INSPECTOR_NOT_ACTIVE
الفاحص غير نشط عند استدعاء inspector.waitForDebugger()
.
ERR_INSPECTOR_NOT_AVAILABLE
الوحدة النمطية node:inspector
غير متاحة للاستخدام.
ERR_INSPECTOR_NOT_CONNECTED
أثناء استخدام الوحدة النمطية node:inspector
، تم إجراء محاولة لاستخدام الفاحص قبل توصيله.
ERR_INSPECTOR_NOT_WORKER
تم استدعاء واجهة برمجة تطبيقات على مؤشر الترابط الرئيسي لا يمكن استخدامها إلا من مؤشر ترابط العامل.
ERR_INTERNAL_ASSERTION
كان هناك خطأ في Node.js أو استخدام غير صحيح لدواخل Node.js. لإصلاح الخطأ، افتح مشكلة على https://github.com/nodejs/node/issues.
ERR_INVALID_ADDRESS
العنوان المقدم غير مفهوم بواسطة واجهة برمجة تطبيقات Node.js.
ERR_INVALID_ADDRESS_FAMILY
عائلة العناوين المقدمة غير مفهومة بواسطة واجهة برمجة تطبيقات Node.js.
ERR_INVALID_ARG_TYPE
تم تمرير وسيط من نوع خاطئ إلى واجهة برمجة تطبيقات Node.js.
ERR_INVALID_ARG_VALUE
تم تمرير قيمة غير صالحة أو غير مدعومة لوسيط معين.
ERR_INVALID_ASYNC_ID
تم تمرير asyncId
أو triggerAsyncId
غير صالح باستخدام AsyncHooks
. يجب ألا يحدث مُعرّف أقل من -1 أبدًا.
ERR_INVALID_BUFFER_SIZE
تم إجراء تبديل على Buffer
ولكن حجمه لم يكن متوافقًا مع العملية.
ERR_INVALID_CHAR
تم الكشف عن أحرف غير صالحة في الرؤوس.
ERR_INVALID_CURSOR_POS
لا يمكن نقل المؤشر على دفق معين إلى صف محدد بدون عمود محدد.
ERR_INVALID_FD
واصف الملف ('fd') لم يكن صالحًا (على سبيل المثال، كانت قيمة سالبة).
ERR_INVALID_FD_TYPE
نوع واصف الملف ('fd') لم يكن صالحًا.
ERR_INVALID_FILE_URL_HOST
واجهة برمجة تطبيقات Node.js تستهلك عناوين URL file:
(مثل وظائف معينة في الوحدة النمطية fs
) صادفت عنوان URL للملف مع مضيف غير متوافق. لا يمكن أن يحدث هذا الموقف إلا على الأنظمة الشبيهة بـ Unix حيث يتم دعم localhost
فقط أو مضيف فارغ.
ERR_INVALID_FILE_URL_PATH
واجهة برمجة تطبيقات Node.js تستهلك عناوين URL file:
(مثل وظائف معينة في الوحدة النمطية fs
) صادفت عنوان URL للملف مع مسار غير متوافق. تعتمد الدلالات الدقيقة لتحديد ما إذا كان يمكن استخدام المسار على النظام الأساسي.
ERR_INVALID_HANDLE_TYPE
تمت محاولة إرسال "مقبض" غير مدعوم عبر قناة اتصال IPC إلى عملية فرعية. راجع subprocess.send()
و process.send()
لمزيد من المعلومات.
ERR_INVALID_HTTP_TOKEN
تم توفير رمز HTTP غير صالح.
ERR_INVALID_IP_ADDRESS
عنوان IP غير صالح.
ERR_INVALID_MIME_SYNTAX
بنية MIME غير صالحة.
ERR_INVALID_MODULE
تمت الإضافة في: v15.0.0, v14.18.0
تمت محاولة تحميل وحدة غير موجودة أو غير صالحة بخلاف ذلك.
ERR_INVALID_MODULE_SPECIFIER
سلسلة الوحدة النمطية المستوردة هي عنوان URL أو اسم حزمة أو محدد مسار فرعي للحزمة غير صالح.
ERR_INVALID_OBJECT_DEFINE_PROPERTY
حدث خطأ أثناء تعيين سمة غير صالحة على خاصية كائن.
ERR_INVALID_PACKAGE_CONFIG
فشل تحليل ملف package.json
غير صالح.
ERR_INVALID_PACKAGE_TARGET
يحتوي حقل "exports"
الخاص بـ package.json
على قيمة تعيين هدف غير صالحة لحل الوحدة النمطية الذي تمت محاولته.
ERR_INVALID_PROTOCOL
تم تمرير options.protocol
غير صالح إلى http.request()
.
ERR_INVALID_REPL_EVAL_CONFIG
تم تعيين الخيارين breakEvalOnSigint
و eval
في تكوين REPL
، وهو أمر غير مدعوم.
ERR_INVALID_REPL_INPUT
قد لا يتم استخدام الإدخال في REPL
. يتم وصف الشروط التي يتم بموجبها استخدام هذا الخطأ في وثائق REPL
.
ERR_INVALID_RETURN_PROPERTY
يتم طرحه في حالة عدم توفير خيار الدالة قيمة صالحة لإحدى خصائص الكائن التي تم إرجاعها عند التنفيذ.
ERR_INVALID_RETURN_PROPERTY_VALUE
يتم طرحه في حالة عدم توفير خيار الدالة نوع قيمة متوقع لإحدى خصائص الكائن التي تم إرجاعها عند التنفيذ.
ERR_INVALID_RETURN_VALUE
يتم طرحه في حالة عدم قيام خيار الدالة بإرجاع نوع قيمة متوقع عند التنفيذ، كما هو الحال عندما يُتوقع من الدالة إرجاع وعد.
ERR_INVALID_STATE
تمت الإضافة في: v15.0.0
يشير إلى أنه لا يمكن إكمال العملية بسبب حالة غير صالحة. على سبيل المثال، قد يكون الكائن قد تم تدميره بالفعل، أو قد يقوم بعملية أخرى.
ERR_INVALID_SYNC_FORK_INPUT
تم توفير Buffer
أو TypedArray
أو DataView
أو string
كإدخال stdio لتفرع غير متزامن. راجع الوثائق الخاصة بالوحدة النمطية child_process
لمزيد من المعلومات.
ERR_INVALID_THIS
تم استدعاء وظيفة API الخاصة بـ Node.js بقيمة this
غير متوافقة.
const urlSearchParams = new URLSearchParams('foo=bar&baz=new');
const buf = Buffer.alloc(1);
urlSearchParams.has.call(buf, 'foo');
// يطرح خطأ TypeError بالرمز 'ERR_INVALID_THIS'
ERR_INVALID_TUPLE
لم يمثل عنصر في iterable
المقدم إلى WHATWG URLSearchParams
constructor صفًا [name, value]
- أي، إذا كان العنصر غير قابل للتكرار، أو لا يتكون من عنصرين بالضبط.
ERR_INVALID_TYPESCRIPT_SYNTAX
أضيف في: v23.0.0
بنية TypeScript المقدمة غير صالحة أو غير مدعومة. قد يحدث هذا عند استخدام بنية TypeScript التي تتطلب تحويلًا باستخدام type-stripping.
ERR_INVALID_URI
تم تمرير URI غير صالح.
ERR_INVALID_URL
تم تمرير عنوان URL غير صالح إلى WHATWG URL
constructor أو الإصدار القديم url.parse()
ليتم تحليله. يحتوي كائن الخطأ الذي يتم طرحه عادةً على خاصية إضافية 'input'
تحتوي على عنوان URL الذي فشل تحليله.
ERR_INVALID_URL_SCHEME
تمت محاولة استخدام عنوان URL بنظام (بروتوكول) غير متوافق لغرض معين. يتم استخدامه فقط في دعم WHATWG URL API في وحدة fs
(التي تقبل فقط عناوين URL بنظام 'file'
)، ولكن قد يتم استخدامه في واجهات برمجة تطبيقات Node.js الأخرى أيضًا في المستقبل.
ERR_IPC_CHANNEL_CLOSED
تمت محاولة استخدام قناة اتصال IPC كانت مغلقة بالفعل.
ERR_IPC_DISCONNECTED
تمت محاولة فصل قناة اتصال IPC تم فصلها بالفعل. راجع الوثائق الخاصة بوحدة child_process
لمزيد من المعلومات.
ERR_IPC_ONE_PIPE
تمت محاولة إنشاء عملية Node.js فرعية باستخدام أكثر من قناة اتصال IPC واحدة. راجع الوثائق الخاصة بوحدة child_process
لمزيد من المعلومات.
ERR_IPC_SYNC_FORK
تمت محاولة فتح قناة اتصال IPC مع عملية Node.js متفرعة بشكل متزامن. راجع الوثائق الخاصة بوحدة child_process
لمزيد من المعلومات.
ERR_IP_BLOCKED
تم حظر IP بواسطة net.BlockList
.
ERR_LOADER_CHAIN_INCOMPLETE
تمت الإضافة في: v18.6.0، v16.17.0
أعاد خطاف محمل ESM دون استدعاء next()
ودون الإشارة صراحةً إلى دائرة قصر.
ERR_LOAD_SQLITE_EXTENSION
تمت الإضافة في: v23.5.0
حدث خطأ أثناء تحميل ملحق SQLite.
ERR_MEMORY_ALLOCATION_FAILED
تمت محاولة تخصيص الذاكرة (عادةً في طبقة C++) ولكنها فشلت.
ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE
تمت الإضافة في: v14.5.0، v12.19.0
تعذر إلغاء تسلسل رسالة تم إرسالها إلى MessagePort
في vm
Context
الهدف. لا يمكن إنشاء جميع كائنات Node.js بنجاح في أي سياق في هذا الوقت، ومحاولة نقلها باستخدام postMessage()
يمكن أن تفشل على الجانب المتلقي في هذه الحالة.
ERR_METHOD_NOT_IMPLEMENTED
الطريقة مطلوبة ولكنها غير منفذة.
ERR_MISSING_ARGS
لم يتم تمرير وسيطة مطلوبة لواجهة برمجة تطبيقات Node.js. يتم استخدام هذا فقط للامتثال الصارم لمواصفات API (والتي قد تقبل في بعض الحالات func(undefined)
ولكن ليس func()
). في معظم واجهات برمجة تطبيقات Node.js الأصلية، يتم التعامل مع func(undefined)
و func()
بشكل مماثل، وقد يتم استخدام رمز الخطأ ERR_INVALID_ARG_TYPE
بدلاً من ذلك.
ERR_MISSING_OPTION
بالنسبة إلى واجهات برمجة التطبيقات التي تقبل كائنات الخيارات، قد تكون بعض الخيارات إلزامية. يتم طرح هذا الرمز إذا كان هناك خيار مطلوب مفقودًا.
ERR_MISSING_PASSPHRASE
تمت محاولة قراءة مفتاح مشفر دون تحديد عبارة مرور.
ERR_MISSING_PLATFORM_FOR_WORKER
لا تدعم منصة V8 التي تستخدمها هذه النسخة من Node.js إنشاء Workers. يحدث هذا بسبب نقص دعم المُضمِّن لـ Workers. على وجه الخصوص، لن يحدث هذا الخطأ مع الإصدارات القياسية من Node.js.
ERR_MODULE_NOT_FOUND
تعذر على مُحمِّل وحدات ECMAScript تحليل ملف وحدة نمطية أثناء محاولة إجراء عملية import
أو عند تحميل نقطة إدخال البرنامج.
ERR_MULTIPLE_CALLBACK
تم استدعاء دالة رد نداء أكثر من مرة.
يُفترض دائمًا استدعاء دالة رد النداء مرة واحدة فقط حيث يمكن إما تلبية الاستعلام أو رفضه ولكن ليس كلاهما في نفس الوقت. سيكون الأخير ممكنًا عن طريق استدعاء دالة رد النداء أكثر من مرة.
ERR_NAPI_CONS_FUNCTION
أثناء استخدام Node-API
، لم يكن المُنشئ الذي تم تمريره دالة.
ERR_NAPI_INVALID_DATAVIEW_ARGS
أثناء استدعاء napi_create_dataview()
، كان offset
معينًا خارج حدود عرض البيانات أو كان offset + length
أكبر من طول buffer
معين.
ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT
أثناء استدعاء napi_create_typedarray()
، لم يكن offset
المقدم مضاعفًا لحجم العنصر.
ERR_NAPI_INVALID_TYPEDARRAY_LENGTH
أثناء استدعاء napi_create_typedarray()
، كان (length * size_of_element) + byte_offset
أكبر من طول buffer
معين.
ERR_NAPI_TSFN_CALL_JS
حدث خطأ أثناء استدعاء الجزء JavaScript من الدالة الآمنة للمؤشرات.
ERR_NAPI_TSFN_GET_UNDEFINED
حدث خطأ أثناء محاولة استرداد قيمة JavaScript undefined
.
ERR_NON_CONTEXT_AWARE_DISABLED
تم تحميل إضافة أصلية غير مدركة للسياق في عملية تحظرها.
ERR_NOT_BUILDING_SNAPSHOT
تمت محاولة استخدام عمليات لا يمكن استخدامها إلا عند إنشاء لقطة بداية تشغيل V8 على الرغم من أن Node.js لا يقوم بإنشاء واحدة.
ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION
تمت إضافتها في: الإصدار 21.7.0، الإصدار 20.12.0
لا يمكن إجراء العملية عندما لا تكون في تطبيق قابل للتنفيذ بذاته.
ERR_NOT_SUPPORTED_IN_SNAPSHOT
تمت محاولة إجراء عمليات غير مدعومة عند إنشاء لقطة بداية التشغيل.
ERR_NO_CRYPTO
تمت محاولة استخدام ميزات التشفير بينما لم يتم تجميع Node.js مع دعم تشفير OpenSSL.
ERR_NO_ICU
تمت محاولة استخدام ميزات تتطلب ICU، ولكن لم يتم تجميع Node.js بدعم ICU.
ERR_NO_TYPESCRIPT
تمت إضافتها في: v23.0.0
تمت محاولة استخدام ميزات تتطلب دعم TypeScript الأصلي، ولكن لم يتم تجميع Node.js بدعم TypeScript.
ERR_OPERATION_FAILED
تمت إضافتها في: v15.0.0
فشلت عملية. يستخدم هذا عادةً للإشارة إلى الفشل العام لعملية غير متزامنة.
ERR_OUT_OF_RANGE
قيمة معينة خارج النطاق المقبول.
ERR_PACKAGE_IMPORT_NOT_DEFINED
لا يحدد حقل "imports"
في package.json
تعيين محدد الحزمة الداخلية المحدد.
ERR_PACKAGE_PATH_NOT_EXPORTED
لا يقوم حقل "exports"
في package.json
بتصدير المسار الفرعي المطلوب. نظرًا لأن الصادرات مغلفة، لا يمكن استيراد الوحدات النمطية الداخلية الخاصة التي لم يتم تصديرها من خلال تحليل الحزمة، إلا باستخدام عنوان URL مطلق.
ERR_PARSE_ARGS_INVALID_OPTION_VALUE
تمت إضافتها في: v18.3.0, v16.17.0
عندما يتم تعيين strict
على true
، يتم طرحها بواسطة util.parseArgs()
إذا تم توفير قيمة <boolean> لخيار من النوع <string>، أو إذا تم توفير قيمة <string> لخيار من النوع <boolean>.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
تمت إضافتها في: v18.3.0, v16.17.0
يتم طرحها بواسطة util.parseArgs()
، عندما يتم توفير وسيط موضعي ويتم تعيين allowPositionals
على false
.
ERR_PARSE_ARGS_UNKNOWN_OPTION
تمت إضافتها في: v18.3.0, v16.17.0
عندما يتم تعيين strict
على true
، يتم طرحها بواسطة util.parseArgs()
إذا لم يتم تكوين وسيط في options
.
ERR_PERFORMANCE_INVALID_TIMESTAMP
تم توفير قيمة طابع زمني غير صالحة لعلامة أداء أو مقياس أداء.
ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS
تم توفير خيارات غير صالحة لمقياس أداء.
ERR_PROTO_ACCESS
تم منع الوصول إلى Object.prototype.__proto__
باستخدام --disable-proto=throw
. يجب استخدام Object.getPrototypeOf
و Object.setPrototypeOf
للحصول على وتعيين النموذج الأولي لكائن.
ERR_QUIC_APPLICATION_ERROR
أضيف في: v23.4.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
حدث خطأ في تطبيق QUIC.
ERR_QUIC_CONNECTION_FAILED
أضيف في: v23.0.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
فشل إنشاء اتصال QUIC.
ERR_QUIC_ENDPOINT_CLOSED
أضيف في: v23.0.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
أغلقت نقطة نهاية QUIC بخطأ.
ERR_QUIC_OPEN_STREAM_FAILED
أضيف في: v23.0.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
فشل فتح دفق QUIC.
ERR_QUIC_TRANSPORT_ERROR
أضيف في: v23.4.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
حدث خطأ في نقل QUIC.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
أضيف في: v23.4.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
فشلت جلسة QUIC لأنه يلزم التفاوض على الإصدار.
ERR_REQUIRE_ASYNC_MODULE
[Stable: 1 - Experimental]
Stable: 1 الاستقرار: 1 - تجريبي
عند محاولة require()
لـ وحدة ES، تبين أن الوحدة غير متزامنة. أي أنها تحتوي على await ذي مستوى أعلى.
لمعرفة مكان الـ await ذي المستوى الأعلى، استخدم --experimental-print-required-tla
(سيؤدي ذلك إلى تنفيذ الوحدات قبل البحث عن awaits ذات المستوى الأعلى).
ERR_REQUIRE_CYCLE_MODULE
[Stable: 1 - Experimental]
Stable: 1 الاستقرار: 1 - تجريبي
عند محاولة require()
لـ وحدة ES، تشارك حافة CommonJS إلى ESM أو ESM إلى CommonJS في دورة فورية. هذا غير مسموح به لأن وحدات ES لا يمكن تقييمها أثناء تقييمها بالفعل.
لتجنب الدورة، يجب ألا تحدث استدعاءات require()
المتضمنة في دورة في المستوى الأعلى إما لوحدة ES (عبر createRequire()
) أو وحدة CommonJS، ويجب أن تتم ببطء في دالة داخلية.
ERR_REQUIRE_ESM
[History]
الإصدار | التغييرات |
---|---|
v23.0.0 | يدعم require() الآن تحميل وحدات ES المتزامنة افتراضيًا. |
[Stable: 0 - Deprecated]
Stable: 0 الاستقرار: 0 - تم الإلغاء
تمت محاولة require()
وحدة ES.
تم إهمال هذا الخطأ منذ أن أصبح require()
يدعم الآن تحميل وحدات ES المتزامنة. عندما يواجه require()
وحدة ES تحتوي على await
ذي مستوى أعلى، فإنه سيرمي ERR_REQUIRE_ASYNC_MODULE
بدلاً من ذلك.
ERR_SCRIPT_EXECUTION_INTERRUPTED
تمت مقاطعة تنفيذ البرنامج النصي بواسطة SIGINT
(على سبيل المثال، + تم الضغط عليها.)
ERR_SCRIPT_EXECUTION_TIMEOUT
انتهت مهلة تنفيذ البرنامج النصي، ربما بسبب وجود أخطاء في البرنامج النصي الذي يتم تنفيذه.
ERR_SERVER_ALREADY_LISTEN
تم استدعاء الأسلوب server.listen()
بينما كانت net.Server
تستمع بالفعل. ينطبق هذا على جميع مثيلات net.Server
، بما في ذلك مثيلات Server
الخاصة بـ HTTP و HTTPS و HTTP/2.
ERR_SERVER_NOT_RUNNING
تم استدعاء الأسلوب server.close()
عندما لم يكن net.Server
قيد التشغيل. ينطبق هذا على جميع مثيلات net.Server
، بما في ذلك مثيلات HTTP و HTTPS و HTTP/2 Server
.
ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND
أضيف في: v21.7.0, v20.12.0
تم تمرير مفتاح إلى واجهات برمجة تطبيقات التطبيقات التنفيذية الفردية لتحديد أحد الأصول، ولكن لم يتم العثور على أي تطابق.
ERR_SOCKET_ALREADY_BOUND
تمت محاولة ربط مقبس تم ربطه بالفعل.
ERR_SOCKET_BAD_BUFFER_SIZE
تم تمرير حجم غير صالح (سلبي) لخيار recvBufferSize
أو sendBufferSize
في dgram.createSocket()
.
ERR_SOCKET_BAD_PORT
تلقت دالة API تتوقع منفذ >= 0 و < 65536 قيمة غير صالحة.
ERR_SOCKET_BAD_TYPE
تلقت دالة API تتوقع نوع مقبس (udp4
أو udp6
) قيمة غير صالحة.
ERR_SOCKET_BUFFER_SIZE
أثناء استخدام dgram.createSocket()
، تعذر تحديد حجم Buffer
الاستقبال أو الإرسال.
ERR_SOCKET_CLOSED
تمت محاولة إجراء عملية على مقبس مغلق بالفعل.
ERR_SOCKET_CLOSED_BEFORE_CONNECTION
عند استدعاء net.Socket.write()
على مقبس متصل وتم إغلاق المقبس قبل إنشاء الاتصال.
ERR_SOCKET_CONNECTION_TIMEOUT
لم يتمكن المقبس من الاتصال بأي عنوان تم إرجاعه بواسطة DNS ضمن المهلة المسموح بها عند استخدام خوارزمية الاختيار التلقائي للعائلة.
ERR_SOCKET_DGRAM_IS_CONNECTED
تم إجراء استدعاء dgram.connect()
على مقبس متصل بالفعل.
ERR_SOCKET_DGRAM_NOT_CONNECTED
تم إجراء استدعاء dgram.disconnect()
أو dgram.remoteAddress()
على مقبس غير متصل.
ERR_SOCKET_DGRAM_NOT_RUNNING
تم إجراء مكالمة ولم يكن نظام UDP الفرعي قيد التشغيل.
ERR_SOURCE_MAP_CORRUPT
تعذر تحليل خريطة المصدر لأنها غير موجودة أو تالفة.
ERR_SOURCE_MAP_MISSING_SOURCE
لم يتم العثور على ملف تم استيراده من خريطة مصدر.
ERR_SQLITE_ERROR
إضافة في: v22.5.0
تم إرجاع خطأ من SQLite.
ERR_SRI_PARSE
تم توفير سلسلة لفحص تكامل الموارد الفرعية، ولكن تعذر تحليلها. تحقق من تنسيق سمات التكامل من خلال الاطلاع على مواصفات تكامل الموارد الفرعية.
ERR_STREAM_ALREADY_FINISHED
تم استدعاء طريقة دفق لا يمكن إكمالها لأن الدفق قد انتهى.
ERR_STREAM_CANNOT_PIPE
تمت محاولة استدعاء stream.pipe()
على دفق Writable
.
ERR_STREAM_DESTROYED
تم استدعاء طريقة دفق لا يمكن إكمالها لأن الدفق قد تم تدميره باستخدام stream.destroy()
.
ERR_STREAM_NULL_VALUES
تمت محاولة استدعاء stream.write()
بكتلة null
.
ERR_STREAM_PREMATURE_CLOSE
خطأ تم إرجاعه بواسطة stream.finished()
و stream.pipeline()
، عندما ينتهي دفق أو مسار بشكل غير سلس بدون خطأ صريح.
ERR_STREAM_PUSH_AFTER_EOF
تمت محاولة استدعاء stream.push()
بعد أن تم دفع null
(EOF) إلى الدفق.
ERR_STREAM_UNABLE_TO_PIPE
تمت محاولة تمرير إلى دفق مغلق أو مدمر في مسار.
ERR_STREAM_UNSHIFT_AFTER_END_EVENT
تمت محاولة استدعاء stream.unshift()
بعد انبعاث حدث 'end'
.
ERR_STREAM_WRAP
يمنع الإجهاض إذا تم تعيين وحدة فك ترميز سلسلة على Socket أو إذا كانت وحدة فك الترميز في objectMode
.
const Socket = require('node:net').Socket;
const instance = new Socket();
instance.setEncoding('utf8');
ERR_STREAM_WRITE_AFTER_END
تمت محاولة استدعاء stream.write()
بعد استدعاء stream.end()
.
ERR_STRING_TOO_LONG
تمت محاولة إنشاء سلسلة أطول من الطول الأقصى المسموح به.
ERR_SYNTHETIC
كائن خطأ اصطناعي يستخدم لالتقاط مكدس الاستدعاءات لتقارير التشخيص.
ERR_SYSTEM_ERROR
حدث خطأ نظام غير محدد أو غير خاص داخل عملية Node.js. سيحتوي كائن الخطأ على خاصية كائن err.info
مع تفاصيل إضافية.
ERR_TAP_LEXER_ERROR
خطأ يمثل حالة محلل معجمي فاشلة.
ERR_TAP_PARSER_ERROR
خطأ يمثل حالة محلل نحوي فاشلة. تتوفر معلومات إضافية حول الرمز المميز الذي تسبب في الخطأ عبر خاصية cause
.
ERR_TAP_VALIDATION_ERROR
يمثل هذا الخطأ فشل التحقق من TAP.
ERR_TEST_FAILURE
يمثل هذا الخطأ اختبارًا فاشلاً. تتوفر معلومات إضافية حول الفشل عبر خاصية cause
. تحدد خاصية failureType
ما كان الاختبار يفعله عند حدوث الفشل.
ERR_TLS_ALPN_CALLBACK_INVALID_RESULT
يتم طرح هذا الخطأ عندما تُرجع ALPNCallback
قيمة ليست في قائمة بروتوكولات ALPN التي يقدمها العميل.
ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS
يتم طرح هذا الخطأ عند إنشاء TLSServer
إذا كانت خيارات TLS تتضمن كلاً من ALPNProtocols
و ALPNCallback
. هذه الخيارات حصرية بشكل متبادل.
ERR_TLS_CERT_ALTNAME_FORMAT
يتم طرح هذا الخطأ بواسطة checkServerIdentity
إذا كانت خاصية subjectaltname
المقدمة من المستخدم تنتهك قواعد الترميز. تتوافق كائنات الشهادات التي تنتجها Node.js نفسها دائمًا مع قواعد الترميز ولن تتسبب أبدًا في هذا الخطأ.
ERR_TLS_CERT_ALTNAME_INVALID
أثناء استخدام TLS، لم يتطابق اسم المضيف/IP الخاص بالنظير مع أي من subjectAltNames
في شهادته.
ERR_TLS_DH_PARAM_SIZE
أثناء استخدام TLS، تكون المعلمة المقدمة لبروتوكول اتفاقية المفاتيح Diffie-Hellman (DH
) صغيرة جدًا. بشكل افتراضي، يجب أن يكون طول المفتاح أكبر من أو يساوي 1024 بت لتجنب الثغرات الأمنية، على الرغم من أنه يوصى بشدة باستخدام 2048 بت أو أكبر للحصول على أمان أقوى.
ERR_TLS_HANDSHAKE_TIMEOUT
انتهت المهلة الزمنية لمصافحة TLS/SSL. في هذه الحالة، يجب على الخادم أيضًا إجهاض الاتصال.
ERR_TLS_INVALID_CONTEXT
تمت إضافتها في: v13.3.0
يجب أن يكون السياق SecureContext
.
ERR_TLS_INVALID_PROTOCOL_METHOD
طريقة secureProtocol
المحددة غير صالحة. إما أنها غير معروفة، أو معطلة لأنها غير آمنة.
ERR_TLS_INVALID_PROTOCOL_VERSION
إصدارات بروتوكول TLS الصالحة هي 'TLSv1'
, 'TLSv1.1'
, أو 'TLSv1.2'
.
ERR_TLS_INVALID_STATE
تمت إضافتها في: v13.10.0, v12.17.0
يجب توصيل مقبس TLS وتأسيسه بشكل آمن. تأكد من إصدار حدث "آمن" قبل المتابعة.
ERR_TLS_PROTOCOL_VERSION_CONFLICT
محاولة تعيين minVersion
أو maxVersion
لبروتوكول TLS تتعارض مع محاولة تعيين secureProtocol
بشكل صريح. استخدم إحدى الآليتين.
ERR_TLS_PSK_SET_IDENTITY_HINT_FAILED
فشل تعيين تلميح هوية PSK. قد يكون التلميح طويلًا جدًا.
ERR_TLS_RENEGOTIATION_DISABLED
تمت محاولة إعادة التفاوض على TLS على مثيل مقبس مع تعطيل إعادة التفاوض.
ERR_TLS_REQUIRED_SERVER_NAME
أثناء استخدام TLS، تم استدعاء طريقة server.addContext()
دون توفير اسم مضيف في المعلمة الأولى.
ERR_TLS_SESSION_ATTACK
تم اكتشاف كمية كبيرة من عمليات إعادة التفاوض على TLS، وهي ناقل محتمل لهجمات رفض الخدمة.
ERR_TLS_SNI_FROM_SERVER
تمت محاولة إصدار إشارة اسم الخادم من مقبس TLS من جانب الخادم، وهو صالح فقط من العميل.
ERR_TRACE_EVENTS_CATEGORY_REQUIRED
تتطلب طريقة trace_events.createTracing()
فئة واحدة على الأقل من فئات أحداث التتبع.
ERR_TRACE_EVENTS_UNAVAILABLE
تعذر تحميل الوحدة node:trace_events
لأن Node.js تم تجميعه باستخدام العلامة --without-v8-platform
.
ERR_TRANSFORM_ALREADY_TRANSFORMING
انتهى تدفق Transform
أثناء استمراره في التحويل.
ERR_TRANSFORM_WITH_LENGTH_0
انتهى تدفق Transform
مع وجود بيانات لا تزال في مخزن الكتابة المؤقت.
ERR_TTY_INIT_FAILED
فشل تهيئة TTY بسبب خطأ في النظام.
ERR_UNAVAILABLE_DURING_EXIT
تم استدعاء دالة داخل معالج process.on('exit')
والتي لا ينبغي استدعاؤها داخل معالج process.on('exit')
.
ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
تم استدعاء process.setUncaughtExceptionCaptureCallback()
مرتين، دون إعادة تعيين الاستدعاء إلى null
أولاً.
تم تصميم هذا الخطأ لمنع الكتابة فوق استدعاء مسجل من وحدة نمطية أخرى عن طريق الخطأ.
ERR_UNESCAPED_CHARACTERS
تم استلام سلسلة تحتوي على أحرف غير مُلغاة.
ERR_UNHANDLED_ERROR
حدث خطأ لم تتم معالجته (على سبيل المثال، عندما يتم إطلاق حدث 'error'
بواسطة EventEmitter
ولكن لم يتم تسجيل معالج 'error'
).
ERR_UNKNOWN_BUILTIN_MODULE
يستخدم لتحديد نوع معين من أخطاء Node.js الداخلية التي لا ينبغي عادةً أن يتم تشغيلها بواسطة كود المستخدم. تشير مثيلات هذا الخطأ إلى وجود خلل داخلي في ثنائي Node.js نفسه.
ERR_UNKNOWN_CREDENTIAL
تم تمرير مجموعة Unix أو معرف مستخدم غير موجود.
ERR_UNKNOWN_ENCODING
تم تمرير خيار ترميز غير صالح أو غير معروف إلى واجهة برمجة تطبيقات.
ERR_UNKNOWN_FILE_EXTENSION
[ثابت: 1 - تجريبي]
ثابت: 1 الاستقرار: 1 - تجريبي
تمت محاولة تحميل وحدة نمطية بامتداد ملف غير معروف أو غير مدعوم.
ERR_UNKNOWN_MODULE_FORMAT
[ثابت: 1 - تجريبي]
ثابت: 1 الاستقرار: 1 - تجريبي
تمت محاولة تحميل وحدة نمطية بتنسيق غير معروف أو غير مدعوم.
ERR_UNKNOWN_SIGNAL
تم تمرير إشارة عملية غير صالحة أو غير معروفة إلى واجهة برمجة تطبيقات تتوقع إشارة صالحة (مثل subprocess.kill()
).
ERR_UNSUPPORTED_DIR_IMPORT
import
عنوان URL لدليل غير مدعوم. بدلاً من ذلك، قم بالإشارة الذاتية إلى حزمة باستخدام اسمها و حدد مسارًا فرعيًا مخصصًا في حقل "exports"
الخاص بملف package.json
.
import './'; // غير مدعوم
import './index.js'; // مدعوم
import 'package-name'; // مدعوم
ERR_UNSUPPORTED_ESM_URL_SCHEME
import
مع مخططات URL بخلاف file
و data
غير مدعوم.
ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
تمت الإضافة في: v22.6.0
إزالة الأنواع غير مدعومة للملفات المنحدرة من دليل node_modules
.
ERR_UNSUPPORTED_RESOLVE_REQUEST
تمت محاولة تحليل مُحيل وحدة نمطية غير صالح. يمكن أن يحدث هذا عند استيراد أو استدعاء import.meta.resolve()
مع:
- مُحدد مجرد ليس وحدة نمطية مدمجة من وحدة نمطية يكون مخطط URL الخاص بها ليس
file
. - عنوان URL نسبي من وحدة نمطية يكون مخطط URL الخاص بها ليس مخططًا خاصًا.
try {
// محاولة استيراد الحزمة 'bare-specifier' من وحدة نمطية `data:` URL:
await import('data:text/javascript,import "bare-specifier"');
} catch (e) {
console.log(e.code); // ERR_UNSUPPORTED_RESOLVE_REQUEST
}
ERR_USE_AFTER_CLOSE
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1 - تجريبي
تمت محاولة استخدام شيء تم إغلاقه بالفعل.
ERR_VALID_PERFORMANCE_ENTRY_TYPE
أثناء استخدام واجهة برمجة تطبيقات توقيت الأداء (perf_hooks
)، لم يتم العثور على أنواع إدخال أداء صالحة.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
لم يتم تحديد استدعاء استيراد ديناميكي.
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG
تم استدعاء استدعاء استيراد ديناميكي بدون --experimental-vm-modules
.
ERR_VM_MODULE_ALREADY_LINKED
الوحدة التي تحاول ربطها غير مؤهلة للربط، وذلك لأحد الأسباب التالية:
- لقد تم ربطها بالفعل (
linkingStatus
هو'linked'
) - يتم ربطها حاليًا (
linkingStatus
هو'linking'
) - فشل الربط لهذه الوحدة (
linkingStatus
هو'errored'
)
ERR_VM_MODULE_CACHED_DATA_REJECTED
خيار cachedData
الذي تم تمريره إلى مُنشئ الوحدة غير صالح.
ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA
لا يمكن إنشاء بيانات مخزنة مؤقتًا للوحدات التي تم تقييمها بالفعل.
ERR_VM_MODULE_DIFFERENT_CONTEXT
الوحدة التي يتم إرجاعها من دالة الرابط هي من سياق مختلف عن الوحدة الأصل. يجب أن تشترك الوحدات المرتبطة في نفس السياق.
ERR_VM_MODULE_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
أضيف في: الإصدار 22.5.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1.1 - تطوير نشط
المؤشر الفرعي المطلوب في postMessageToThread()
غير صالح أو لا يحتوي على مستمع workerMessage
.
ERR_WORKER_MESSAGING_SAME_THREAD
أضيف في: الإصدار 22.5.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1.1 - تطوير نشط
معرف المؤشر الفرعي المطلوب في postMessageToThread()
هو معرف المؤشر الفرعي الحالي.
ERR_WORKER_MESSAGING_TIMEOUT
أضيف في: الإصدار 22.5.0
[مستقر: 1 - تجريبي]
مستقر: 1 الاستقرار: 1.1 - تطوير نشط
انتهت المهلة الزمنية لإرسال رسالة عبر postMessageToThread()
.
ERR_WORKER_NOT_RUNNING
فشلت عملية لأن مثيل Worker
لا يعمل حاليًا.
ERR_WORKER_OUT_OF_MEMORY
تم إنهاء مثيل Worker
لأنه وصل إلى حد الذاكرة الخاص به.
ERR_WORKER_PATH
المسار للبرنامج النصي الرئيسي للعامل ليس مسارًا مطلقًا ولا مسارًا نسبيًا يبدأ بـ ./
أو ../
.
ERR_WORKER_UNSERIALIZABLE_ERROR
فشلت جميع محاولات تسلسل استثناء غير معالج من مؤشر فرعي للعامل.
ERR_WORKER_UNSUPPORTED_OPERATION
الوظيفة المطلوبة غير مدعومة في المؤشرات الفرعية للعامل.
ERR_ZLIB_INITIALIZATION_FAILED
فشل إنشاء كائن zlib
بسبب التكوين غير الصحيح.
HPE_CHUNK_EXTENSIONS_OVERFLOW
أضيف في: الإصدار 21.6.2، الإصدار 20.11.1، الإصدار 18.19.1
تم استلام الكثير من البيانات لامتدادات الكتلة. لحماية العملاء الضارين أو ذوي التكوين الخاطئ، إذا تم استلام أكثر من 16 كيلوبايت من البيانات، فسيتم إرسال خطأ
بهذا الرمز.
HPE_HEADER_OVERFLOW
[التاريخ]
الإصدار | التغييرات |
---|---|
v11.4.0, v10.15.0 | تم تعيين الحد الأقصى لحجم الرأس في http_parser إلى 8 كيلوبايت. |
تم استقبال الكثير من بيانات رأس HTTP. من أجل الحماية من العملاء الخبيثين أو الذين تم تكوينهم بشكل خاطئ، إذا تم استقبال أكثر من maxHeaderSize
من بيانات رأس HTTP، فسيتم إحباط تحليل HTTP دون إنشاء كائن طلب أو استجابة، وسيتم إصدار Error
بهذا الرمز.
HPE_UNEXPECTED_CONTENT_LENGTH
يرسل الخادم كلاً من رأس Content-Length
و Transfer-Encoding: chunked
.
يسمح Transfer-Encoding: chunked
للخادم بالحفاظ على اتصال HTTP دائم للمحتوى الذي يتم إنشاؤه ديناميكيًا. في هذه الحالة، لا يمكن استخدام رأس HTTP Content-Length
.
استخدم Content-Length
أو Transfer-Encoding: chunked
.
MODULE_NOT_FOUND
[التاريخ]
الإصدار | التغييرات |
---|---|
v12.0.0 | تمت إضافة الخاصية requireStack . |
تعذر تحليل ملف الوحدة النمطية بواسطة محمل وحدات CommonJS أثناء محاولة إجراء require()
أو عند تحميل نقطة إدخال البرنامج.
رموز خطأ Node.js القديمة
[مستقر: 0 - مهمل]
مستقر: 0 الاستقرار: 0 - مهمل. رموز الخطأ هذه غير متناسقة أو تمت إزالتها.
ERR_CANNOT_TRANSFER_OBJECT
أضيف في: v10.5.0
تمت إزالته في: v12.5.0
احتوت القيمة التي تم تمريرها إلى postMessage()
على كائن غير مدعوم للنقل.
ERR_CPU_USAGE
تمت إزالته في: v15.0.0
تعذر معالجة الاستدعاء الأصلي من process.cpuUsage
.
ERR_CRYPTO_HASH_DIGEST_NO_UTF16
أضيف في: v9.0.0
تمت إزالته في: v12.12.0
تم استخدام ترميز UTF-16 مع hash.digest()
. بينما يسمح الأسلوب hash.digest()
بتمرير وسيطة encoding
، مما يتسبب في قيام الأسلوب بإرجاع سلسلة بدلاً من Buffer
، فإن ترميز UTF-16 (مثل ucs
أو utf16le
) غير مدعوم.
ERR_CRYPTO_SCRYPT_INVALID_PARAMETER
تمت إزالته في: v23.0.0
تم تمرير مجموعة غير متوافقة من الخيارات إلى crypto.scrypt()
أو crypto.scryptSync()
. تستخدم الإصدارات الجديدة من Node.js رمز الخطأ ERR_INCOMPATIBLE_OPTION_PAIR
بدلاً من ذلك، وهو ما يتوافق مع واجهات برمجة التطبيقات الأخرى.
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
في وضع "خارجي"، أو وضع SharedArrayBuffer
موجود في وضع خارجي.
ERR_UNKNOWN_STDIN_TYPE
أضيف في: الإصدار v8.0.0
أزيل في: الإصدار v11.7.0
تمت محاولة تشغيل عملية Node.js بنوع ملف stdin
غير معروف. عادة ما يكون هذا الخطأ مؤشرًا على وجود خطأ داخل Node.js نفسه، على الرغم من أنه من الممكن أن يقوم كود المستخدم بتشغيله.
ERR_UNKNOWN_STREAM_TYPE
أضيف في: الإصدار v8.0.0
أزيل في: الإصدار v11.7.0
تمت محاولة تشغيل عملية Node.js بنوع ملف stdout
أو stderr
غير معروف. عادة ما يكون هذا الخطأ مؤشرًا على وجود خطأ داخل Node.js نفسه، على الرغم من أنه من الممكن أن يقوم كود المستخدم بتشغيله.
ERR_V8BREAKITERATOR
تم استخدام V8 BreakIterator
API ولكن لم يتم تثبيت مجموعة بيانات ICU الكاملة.
ERR_VALUE_OUT_OF_RANGE
أضيف في: الإصدار v9.0.0
أزيل في: الإصدار v10.0.0
يستخدم عندما تكون قيمة معينة خارج النطاق المقبول.
ERR_VM_MODULE_LINKING_ERRORED
أضيف في: الإصدار v10.0.0
أزيل في: الإصدار v18.1.0, v16.17.0
أرجعت دالة الرابط وحدة نمطية فشل ربطها.
ERR_VM_MODULE_NOT_LINKED
يجب ربط الوحدة النمطية بنجاح قبل التهيئة.
ERR_WORKER_UNSUPPORTED_EXTENSION
أضيف في: الإصدار v11.0.0
أزيل في: الإصدار v16.9.0
يحتوي اسم المسار المستخدم للبرنامج النصي الرئيسي لعامل على امتداد ملف غير معروف.
ERR_ZLIB_BINDING_CLOSED
أضيف في: الإصدار v9.0.0
أزيل في: الإصدار v10.0.0
يستخدم عند محاولة استخدام كائن zlib
بعد إغلاقه بالفعل.
رموز أخطاء OpenSSL
أخطاء صلاحية الوقت
CERT_NOT_YET_VALID
الشهادة غير صالحة بعد: تاريخ notBefore بعد الوقت الحالي.
CERT_HAS_EXPIRED
انتهت صلاحية الشهادة: تاريخ notAfter قبل الوقت الحالي.
CRL_NOT_YET_VALID
تحتوي قائمة إبطال الشهادات (CRL) على تاريخ إصدار مستقبلي.
CRL_HAS_EXPIRED
انتهت صلاحية قائمة إبطال الشهادات (CRL).
CERT_REVOKED
تم إبطال الشهادة؛ وهي موجودة في قائمة إبطال الشهادات (CRL).
أخطاء متعلقة بالثقة أو السلسلة
UNABLE_TO_GET_ISSUER_CERT
تعذر العثور على شهادة الجهة المصدرة لشهادة تم البحث عنها. هذا يعني عادةً أن قائمة الشهادات الموثوق بها غير كاملة.
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
جهة إصدار الشهادة غير معروفة. هذا هو الحال إذا لم يتم تضمين جهة الإصدار في قائمة الشهادات الموثوق بها.
DEPTH_ZERO_SELF_SIGNED_CERT
الشهادة التي تم تمريرها موقعة ذاتيًا ولا يمكن العثور على نفس الشهادة في قائمة الشهادات الموثوق بها.
SELF_SIGNED_CERT_IN_CHAIN
جهة إصدار الشهادة غير معروفة. هذا هو الحال إذا لم يتم تضمين جهة الإصدار في قائمة الشهادات الموثوق بها.
CERT_CHAIN_TOO_LONG
طول سلسلة الشهادات أكبر من الحد الأقصى للعمق.
UNABLE_TO_GET_CRL
تعذر العثور على مرجع CRL الخاص بالشهادة.
UNABLE_TO_VERIFY_LEAF_SIGNATURE
لا يمكن التحقق من أي توقيعات لأن السلسلة تحتوي على شهادة واحدة فقط وهي ليست موقعة ذاتيًا.
CERT_UNTRUSTED
لم يتم وضع علامة على مرجع الشهادة الجذر (CA) على أنه موثوق به للغرض المحدد.
أخطاء الامتداد الأساسي
INVALID_CA
شهادة CA غير صالحة. إما أنها ليست CA أو أن امتداداتها غير متوافقة مع الغرض المحدد.
PATH_LENGTH_EXCEEDED
تم تجاوز معلمة pathlength الخاصة بـ basicConstraints.
أخطاء متعلقة بالاسم
HOSTNAME_MISMATCH
لا تتطابق الشهادة مع الاسم المقدم.
أخطاء الاستخدام والسياسة
INVALID_PURPOSE
لا يمكن استخدام الشهادة المقدمة للغرض المحدد.
CERT_REJECTED
تم وضع علامة على CA الجذر لرفض الغرض المحدد.
أخطاء التنسيق
CERT_SIGNATURE_FAILURE
توقيع الشهادة غير صالح.
CRL_SIGNATURE_FAILURE
توقيع قائمة إبطال الشهادات (CRL) غير صالح.
ERROR_IN_CERT_NOT_BEFORE_FIELD
يحتوي حقل notBefore الخاص بالشهادة على وقت غير صالح.
ERROR_IN_CERT_NOT_AFTER_FIELD
يحتوي حقل notAfter الخاص بالشهادة على وقت غير صالح.
ERROR_IN_CRL_LAST_UPDATE_FIELD
يحتوي حقل lastUpdate الخاص بـ CRL على وقت غير صالح.
ERROR_IN_CRL_NEXT_UPDATE_FIELD
يحتوي حقل nextUpdate الخاص بـ CRL على وقت غير صالح.
UNABLE_TO_DECRYPT_CERT_SIGNATURE
تعذر فك تشفير توقيع الشهادة. هذا يعني أنه تعذر تحديد قيمة التوقيع الفعلية بدلاً من عدم تطابقها مع القيمة المتوقعة، وهذا ذو معنى فقط لمفاتيح RSA.
UNABLE_TO_DECRYPT_CRL_SIGNATURE
تعذر فك تشفير توقيع قائمة إبطال الشهادات (CRL): هذا يعني أنه تعذر تحديد قيمة التوقيع الفعلية بدلاً من عدم تطابقها مع القيمة المتوقعة.
UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
تعذر قراءة المفتاح العام في SubjectPublicKeyInfo الخاص بالشهادة.
أخطاء OpenSSL أخرى
OUT_OF_MEM
حدث خطأ أثناء محاولة تخصيص الذاكرة. هذا لا ينبغي أن يحدث أبدا.