الأخطاء
كل شيء يرمي خطأً واحداً برمز ثابت.
ts
import { GurbApiError } from '@gurb/server'
try {
await gurb.blogs.list()
} catch (e) {
if (e instanceof GurbApiError && e.code === 'FEATURE_NOT_AVAILABLE') {
// blogs are not on this community's plan
}
}php
try {
$gurb->blogs->list();
} catch (Gurb\GurbApiException $e) {
if ($e->code === Gurb\GurbErrorCode::FeatureNotAvailable) {
// blogs are not on this community's plan
}
}الرموز التي ستقابلها فعلاً
| الرمز | معناه |
|---|---|
INVALID_API_KEY | المفتاح غير صالح الشكل أو غير معروف للخادم. |
API_KEY_REVOKED | المفتاح كان صالحاً وأُلغي. الإلغاء نهائي بالتصميم. |
VALIDATION_ERROR | الطلب مرفوض. مع الحالة صفر يعني الرفض محلي ولم يُرسل شيء. |
NOT_FOUND | المعرّف لا يسمّي شيئاً — أو يسمّي شيئاً في مجتمع آخر. الردّان متطابقان عمداً، فلا يمكن استخدام المسار لاكتشاف ما هو موجود في مجتمعات أخرى. |
FEATURE_NOT_AVAILABLE | خطة المجتمع لا تشمل هذا القسم. استحقاق لا صلاحية؛ لا منحة تصلحه. |
FORBIDDEN | صاحب المفتاح لا يملك الصلاحية المطلوبة لهذا الإجراء. |
RATE_LIMITED | تجاوزت الحد. التعليقات والإعجابات محدودة المعدّل. |
NETWORK_ERROR | لم يصل رد صالح — مهلة، أو وسيط أعاد صفحة غير JSON. |
الحالة صفر تعني أن شيئاً لم يُرسل
الفحوص المحلية ترفض قبل أي نداء شبكي وتحمل الحالة صفر. هذي إشارة مهمة لو عندك منطق إعادة محاولة: خطأ 5xx يستحق المحاولة ثانية، وهذا لا يستحقها أبداً — الطلب سيكون مطابقاً وكذلك الرفض.
الرسائل إنجليزية بالتصميم
تطبيقك يملك الترجمة. ونصوص الأخطاء غير المعروفة القادمة من الخادم لا تتسرب أبداً إلى الرمز، فتفريعك عليه لن ينكسر حين يضيف الخادم رمزاً جديداً.
