YoukaRequestError لأخطاء HTTP وإخفاقات التحقق من الصحة، وYoukaTaskError للمهام غير المتزامنة التي انتهت بحالة غير ناجحة. كلتاهما تمتدان Error وتحملان حقولًا منظَّمة بحيث يمكنك التفريع بناءً على code وstatus وقابلية إعادة المحاولة.
YoukaRequestError
يتم طرحه عند أخطاء HTTP، وإخفاقات التحقق من صحة الطلب، والاستجابات غير السليمة.
الحقول
رمز خطأ قابل للقراءة آليًا، مثل
INVALID_REQUEST وUNAUTHORIZED و
UPLOAD_FAILED.وصف قابل للقراءة البشرية.
رمز حالة HTTP، إن كان متاحًا.
true إذا اعتبر الـ SDK أن الخطأ يستحق إعادة المحاولة (حدود المعدّل، أخطاء خادم عابرة، إعادة تشغيل idempotent قيد التقدم).تفاصيل مقدّمة من الخادم، وعادةً ما تكون قائمة مشكلات Zod لأخطاء التحقق من الصحة.
أكواد شائعة
| الرمز | السبب | قابل لإعادة المحاولة؟ |
|---|---|---|
INVALID_REQUEST | فشل جسم الطلب في التحقق من مخططه قبل إرساله. | No |
UNAUTHORIZED | مفتاح API مفقود أو غير صالح. | No |
NOT_FOUND | المورد غير موجود أو أنك تفتقر إلى صلاحية الوصول. | No |
CONFLICT | تعارض في الإصدارات (HTTP 409). | Yes |
TOO_MANY_REQUESTS | تم الوصول إلى حد المعدّل (HTTP 429). | Yes |
INTERNAL_SERVER_ERROR | عطل خادم عابر (HTTP 500). | Yes |
IDEMPOTENT_REPLAY_IN_PROGRESS | الطلب الأصلي ما يزال قيد التنفيذ تحت نفس مفتاح idempotency (HTTP 202). | Yes |
INVALID_RESPONSE | أعاد الخادم جسمًا لا يطابق المخطط المتوقع. | No |
UPLOAD_FAILED | أعادت عملية رفع Signed URL حالة غير 2xx. | Depends on status |
YoukaTaskError
يتم طرحه من client.tasks.wait(...) وclient.projects.wait(...) وclient.exports.wait(...) عندما تنتهي المهمة أو عملية التصدير الأساسية بحالة failed أو cancelled أو timed-out.
الحقول
يرتبط مباشرةً بالحالة النهائية للمهمة.
إما رسالة خطأ المهمة المقدّمة من الخادم أو بديل مُنشأ تلقائيًا.
الحالة النهائية للمهمة.
الحمولة الكاملة للمهمة في لحظة الفشل. مفيدة للتسجيل ورسائل الأخطاء الموجّهة للمستخدم.
نمط إعادة المحاولة
ادمجretryable مع مفتاح idempotency لبناء حلقة إعادة محاولة آمنة:
الإيقاف والإلغاء
إن إيقاف الطلب (Abort) يطرحAbortError القياسي — وليس YoukaRequestError. تحقّق منه صراحةً:
