الكائن 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
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات