الهدف
بعد هالدرس تقدر تبني API wrapper يتعامل مع كل أنواع الأخطاء تلقائيا: retries، backoff، و rate limit queue.
ليش هذا الحين؟
Multi-modal workflows جاهزة. الحين الـ production reality — الـ APIs تفشل. الفرق بين app يطيح و app يرجع يشتغل = error handling صحيح.
الفكرة
أنواع الأخطاء:
RateLimitError (429): أرسلت أكثر من المسموح → retry بعد انتظار
APIConnectionError: مشكلة شبكة → retry
APIError (400, 500): خطأ في الطلب أو server → لا تعيد
AuthenticationError: key غلط → لا تعيد
قاعدة Exponential Backoff:
Attempt 1 fails → wait 2^1 = 2s
Attempt 2 fails → wait 2^2 = 4s
Attempt 3 fails → wait 2^3 = 8s
Attempt 4 fails → give up