Skip to main content
يكشف SDK عن فئتين من الأخطاء: YoukaRequestError لأخطاء HTTP وإخفاقات التحقق، و YoukaTaskError للمهام غير المتزامنة التي انتهت بحالة غير ناجحة. كلتاهما تمتدان Error وتحملان حقولًا منظَّمة لتتمكن من التفريع بناءً على code و status وقابلية إعادة المحاولة.

YoukaRequestError

يُرمى عند أخطاء HTTP، وإخفاقات التحقق من صحة الطلب، والاستجابات غير السليمة.

الحقول

string
رمز خطأ قابل للقراءة آليًا، مثل INVALID_REQUEST و UNAUTHORIZED و UPLOAD_FAILED.
string
وصف قابل للقراءة البشرية.
number
رمز حالة HTTP، إن كان متاحًا.
boolean
true إذا كان SDK يعتبر الخطأ جديرًا بإعادة المحاولة (حدود المعدّل، أخطاء الخادم العابرة، إعادة تشغيل idempotent قيد التنفيذ).
unknown
تفاصيل مقدَّمة من الخادم، غالبًا قائمة مشكلات Zod لأخطاء التحقق.

الرموز الشائعة

YoukaTaskError

يُرمى من client.tasks.wait(...) و client.projects.wait(...) و client.exports.wait(...) عندما تنتهي المهمة الأساسية أو التصدير بحالة failed أو cancelled أو timed-out.

الحقول

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
يتطابق مباشرةً مع الحالة النهائية للمهمة.
string
إما رسالة خطأ المهمة المقدَّمة من الخادم أو قيمة بديلة تم توليدها.
TaskStatus
الحالة النهائية للمهمة.
RestTask
الحمولة الكاملة للمهمة لحظة الفشل. مفيدة للتسجيل ورسائل الخطأ المعروضة للمستخدم.

نمط إعادة المحاولة

ادمج retryable مع مفتاح idempotency لبناء حلقة إعادة محاولة آمنة:
أعد استخدام مفتاح idempotency نفسه دائمًا عبر محاولات الإعادة. وإلا فسيتعامل الخادم مع الإعادة كطلب جديد وقد ينتهي بك الأمر إلى تكرارات.

الإلغاء والإيقاف

إيقاف (aborting) طلب يؤدي إلى رمي AbortError القياسي — وليس YoukaRequestError. تحقّق منه صراحةً:

ما التالي

  • المهام — مساعدات الانتظار واستطلاع المهام المتقدم
  • المصادقة — خيارات المُنشئ والإشارات
  • أخطاء API — الرموز نفسها في HTTP الخام