ساخت خطاهای سفارشی

ساخت خطاهای سفارشی در جاوااسکریپت

در توسعه نرم‌افزار، مدیریت خطاها یکی از حیاتی‌ترین بخش‌هاست. جاوااسکریپت به‌طور پیش‌فرض خطاهای استانداردی مانند SyntaxError یا TypeError را ارائه می‌دهد، اما گاهی نیاز داریم خطاهای اختصاصی برای منطق کسب‌وکار خود ایجاد کنیم.

نکته کلیدی: خطاهای سفارشی باعث می‌شوند تشخیص و رفع اشکالات در برنامه‌های پیچیده ساده‌تر شود.

چرا به خطاهای سفارشی نیاز داریم؟

  • تفکیک خطاهای سیستمی از خطاهای منطق کسب‌وکار
  • افزایش خوانایی کد و سهولت دیباگ
  • امکان اضافه کردن اطلاعات اضافی به شیء خطا
  • یکپارچه‌سازی بهتر با سیستم‌های لاگینگ
نوع خطا کاربرد
ValidationError خطاهای مربوط به اعتبارسنجی داده‌ها
PermissionError خطاهای دسترسی و سطح مجوز

پیاده‌سازی پایه خطای سفارشی

برای ایجاد یک خطای سفارشی، باید از کلاس Error ارث‌بری کنیم. این روش در ES6 به سادگی امکان‌پذیر است:

class CustomError extends Error {
    constructor(message) {
        super(message);
        this.name = "CustomError";
    }
}

حال می‌توانید از این خطا مانند خطاهای استاندارد استفاده کنید:

  1. خطا را با throw پرتاب کنید
  2. در بلوک try/catch آن را مدیریت کنید
  3. از خاصیت instanceof برای تشخیص نوع خطا استفاده نمایید

برای اطلاعات بیشتر درباره مدیریت خطاها در جاوااسکریپت، می‌توانید مقاله بیشتر بخوانید را مطالعه کنید.

افزودن ویژگی‌های سفارشی

یکی از مزایای خطاهای سفارشی، امکان اضافه کردن اطلاعات اضافی است. به مثال زیر توجه کنید:

class APIError extends Error {
    constructor(message, statusCode, details) {
        super(message);
        this.name = "APIError";
        this.status = statusCode;
        this.details = details;
    }
}

// استفاده:
throw new APIError("سرور پاسخ نداد", 500, { endpoint: "/users" });

این روش به شما امکان می‌دهد در هنگام مدیریت خطا، به تمام اطلاعات مورد نیاز دسترسی داشته باشید و تصمیم‌گیری بهتری انجام دهید.