الكائن RangeError
في JavaScript
الكائن RangeError
يُشير إلى حدوث خطأ وقع عندما تكون قيمة متغير رقمي أو معاملٍ ما خارج المجال المسموح.
البنية العامة
new RangeError([message])
message
وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.
الوصف
سيرمى الخطأ RangeError
عند محاولة تمرير رقم كوسيط إلى دالة لا تعدّ هذا الرقم ضمن المجال المسموح للقيم التي تقبلها؛ وسيحدث ذلك عند محاولة إنشاء مصفوفة لها طول (length
) غير صحيح باستخدام الدالة البانية Array
، أو عند تمرير قيم غير صالحة إلى الدوال Number.toExponential()
أو Number.toFixed()
أو Number.toPrecision()
.
الخاصيات والدوال التابعة للدالة البانية RangeError
الخاصيات
RangeError.prototype
تُمثِّل هذه الخاصية كائن prototype التابعة للكائن RangeError
.
الدوال
الدالة البانية RangeError
لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.
الكائن prototype
الخاصيات
RangeError.prototype.constructor
تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات RangeError
؛ راجع صفحة الخاصيةObject.prototype.constructor
لمزيدٍ من التفاصيل.
RangeError.prototype.message
رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن RangeError
قيمةً خاصةً به للخاصية message
، لكنه يرث الخاصية Error.prototype.message
في أغلب محركات JavaScript.
RangeError.prototype.name
اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name
.
الدوال
كائن prototype التابع للكائن RangeError
لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.
أمثلة
سنرمي في المثال الآتي الاستثناء RangeError
إذا كان الوسيط المُمرَّر إلى الدالة خارج النطاق المسموح:
var check = function(num) {
if (num < MIN || num > MAX) {
throw new RangeError('Parameter must be between ' + MIN + ' and ' + MAX);
}
};
try {
check(500);
}
catch (e) {
if (e instanceof RangeError) {
// معالجة الخطأ
}
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .