ال

الأخطاء في JavaScript

19 تمرينًا

نبذة عن الأخطاء

تُفيد الأخطاء في الإبلاغ عند وجود خلل أو أمر غير متوقع في برنامج أو في جزء من الكود.

وهي كائنات في JavaScript.

الخاصية الرئيسية في هذا الكائن هي message:

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

باستخدام الصيغة throw، يمكنك طرح خطأ.

throw new Error('Oops');

عند طرح خطأ، يتوقف التنفيذ الحالي ويُستأنف في أول كتلة catch في مكدّس الاستدعاءات.

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

وكما هو الحال مع أي صنف في JavaScript، يمكن للأصناف الفرعية أن ترث من Error لإنشاء أخطاء مخصصة باستخدام الكلمة المفتاحية extends. وتتحقق الصيغة instanceof مما إذا كان الخطأ الملتقط نسخة من صنف فرعي معين من Error.

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

أنواع الأخطاء

بالإضافة إلى كائن Error، توجد كائنات أخطاء مدمجة أخرى. يمكنك معرفة المزيد عنها هنا

الأخطاء المخصصة

يمكنك أيضًا تعريف نوع خطأ مخصص خاص بك عبر إنشاء صنف يرث من أحد أنواع الأخطاء المدمجة

class MyCustomError extends Error {}

طرح قيم ليست أخطاء

مع أن الصيغة throw تُستخدم عادةً لطرح كائن خطأ، فإن JavaScript مرنة وتسمح لك بطرح string أو null أو أي نوع أولي.

تتبّع مكدّس الأخطاء

مع أن هذا ليس معياريًا في JavaScript، فإن معظم بيئات JavaScript تُطبّق خاصية stack على كائنات الخطأ، ما يتيح لك الحصول على تتبّع المكدّس للخطأ الذي طُرح.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الأخطاء