الكائن URIError
في JavaScript
الكائن URIError
يُمثِّل أحد الأخطاء التي تقع عند تمرير وسائط غير صالحة إلى دالة encodeURI()
(أو encodeURIComponent()
) أو decodeURI()
(أو decodeURIComponent()
)
البنية العامة
new URIError([message])
message
وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.
الخاصيات والدوال التابعة للدالة البانية URIError
الخاصيات
URIError.prototype
تُمثِّل هذه الخاصية كائن prototype التابعة للكائن URIError
.
الدوال
الدالة البانية URIError
لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.
الكائن prototype
الخاصيات
URIError.prototype.constructor
تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات URIError
؛ راجع صفحة الخاصيةObject.prototype.constructor
لمزيدٍ من التفاصيل.
URIError.prototype.message
رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن URIError
قيمةً خاصةً به للخاصية message
، لكنه يرث الخاصية Error.prototype.message
في أغلب محركات JavaScript.
URIError.prototype.name
اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name
.
الدوال
كائن prototype التابع للكائن URIError
لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.
أمثلة
سنحاول إنشاء شيفرة ترمي الخطأ URIError
في المثال الآتي، وسنعالج الاستثناء باستخدام تعبير try...catch
:
try {
decodeURIComponent('%');
} catch (e) {
console.log(e instanceof URIError); // true
console.log(e.message); // "malformed URI sequence"
console.log(e.name); // "URIError"
}
سنبيّن مثالًا عن هذا الاستثناء برميه يدويًا باستخدام الكلمة المحجوزة throw
:
try {
throw new URIError('Hello');
} catch (e) {
console.log(e instanceof URIError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "URIError"
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .