المهارات error-handling
🛡️

error-handling

آمن ⚡ يحتوي على سكربتات⚙️ الأوامر الخارجية

تنفيذ معالجة الأخطاء المنظمة

متاح أيضًا من: Doyajin174

بناء معالجة قوية للأخطاء يمثل تحدياً بدون أنماط متسقة. توفر هذه المهارة تسلسلات استثناءات جاهزة للاستخدام، وأنماط try-catch، ومعالجات أخطاء عامة، وأدوات تسجيل لتطبيقات FastAPI وReact.

يدعم: Claude Codex Code(CC)
🥉 72 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "error-handling". أنشئ استثناء مخصص لحالة عدم العثور على مورد

النتيجة المتوقعة:

  • class NotFoundError(AppException):
  • """Resource not found (404)."""
  •  
  • def __init__(self, resource: str, identifier: str):
  • super().__init__(
  • status_code=404,
  • detail=f"{resource} with id '{identifier}' not found",
  • user_message=f"{resource} not found. Please check and try again.",
  • )

استخدام "error-handling". كيف يجب أن أنسق استجابات أخطاء API؟

النتيجة المتوقعة:

{
"error": {
"code": "STUDENT_NOT_FOUND",
"message": "Student not found. Please check and try again.",
"internal": "Student with id '12345' not found"
}
}

استخدام "error-handling". تعامل مع خطأ fetch في React واعرض إشعار toast

النتيجة المتوقعة:

try {
const response = await fetch(url);
if (!response.ok) {
throw new ApiResponseError(
{ code: "FETCH_ERROR", message: "Failed to fetch data" },
response.status
);
}
return response.json();
} catch (error) {
if (error instanceof ApiResponseError) {
toast.error(error.userMessage);
} else {
toast.error("An unexpected error occurred.");
}
}

التدقيق الأمني

آمن
v6 • 1/21/2026

This skill provides legitimate error handling patterns for FastAPI backends and React frontends. Static findings are false positives triggered by regex flags misidentified as cryptographic algorithms, backticks for markdown code formatting, and error code naming conventions. No malicious patterns confirmed.

3
الملفات التي تم فحصها
1,398
الأسطر التي تم تحليلها
2
النتائج
6
إجمالي عمليات التدقيق

عوامل الخطر

⚡ يحتوي على سكربتات (1)
⚙️ الأوامر الخارجية (2)
تم تدقيقه بواسطة: claude عرض سجل التدقيق →

درجة الجودة

45
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
30
المجتمع
100
الأمان
87
الامتثال للمواصفات

ماذا يمكنك بناءه

بناء استجابات أخطاء API متسقة

إنشاء تنسيق موحد لاستجابة الأخطاء عبر جميع نقاط نهاية API مع فئات استثناءات مخصصة، ورسائل موجهة للمستخدم، وتسجيل منظم لتسهيل تصحيح الأخطاء.

التعامل مع أخطاء API في الواجهة الأمامية بشكل أنيق

تنفيذ معالجة الأخطاء في تطبيقات React التي تعرض رسائل سهلة الاستخدام، وتتعامل مع فشل الشبكة، وتتكامل مع إشعارات toast.

تصحيح مشاكل الإنتاج باستخدام معرفات الارتباط

إعداد تسجيل منظم يتتبع الطلبات عبر الخدمات باستخدام معرفات الارتباط، مما يسهل تتبع الأخطاء في الأنظمة الموزعة.

جرّب هذه الموجهات

إنشاء استثناء مخصص
أنشئ فئة استثناء مخصصة تسمى {ExceptionName} تمتد من AppException لواجهة خلفية FastAPI. يجب أن تقبل {parameters} وتُرجع رمز حالة {status_code} مع رسالة سهلة الاستخدام.
إضافة معالج أخطاء عام
أضف معالج أخطاء عام إلى تطبيق FastAPI الخاص بي يلتقط AppException ويُرجع استجابة JSON متسقة مع رمز الخطأ ورسالة المستخدم والتفاصيل الداخلية في وضع التصحيح.
معالجة أخطاء استجابة API
أنشئ دالة محول أخطاء في TypeScript تترجم استجابات أخطاء API إلى رسائل سهلة الاستخدام. يجب أن تتعامل مع رموز الحالة 401 و403 و404 و409 و422 و429 و500.
تنفيذ تسجيل أخطاء منظم
أنشئ مُسجل منظم في Python يُخرج سجلات JSON مع الطابع الزمني والمستوى ومعرف الارتباط ونوع الخطأ والرسالة وتتبع المكدس. استخدم contextvars لتتبع معرف الارتباط.

أفضل الممارسات

  • فصل تفاصيل الأخطاء الداخلية عن الرسائل الموجهة للمستخدم لتجنب تسريب معلومات حساسة
  • استخدام أنواع استثناءات محددة بدلاً من اللجوء إلى Exception العامة لتمكين معالجة أخطاء مستهدفة
  • تسجيل الاستثناءات دائماً مع معرفات الارتباط لتتبع الأخطاء عبر الخدمات الموزعة

تجنب

  • التقاط Exception أو عبارات except المجردة التي تبتلع جميع الأخطاء دون معالجة صحيحة
  • كشف تتبع المكدس أو تفاصيل الأخطاء الداخلية مباشرة للمستخدمين في الإنتاج
  • إرجاع تنسيقات استجابة أخطاء مختلفة عبر نقاط النهاية، مما يجعل معالجة أخطاء العميل غير متسقة

الأسئلة المتكررة

ما الفرق بين detail وuser_message؟
يحتوي حقل detail على معلومات تقنية لتصحيح الأخطاء (مثل أخطاء قاعدة البيانات، قيم المتغيرات). يحتوي user_message على رسالة ودية آمنة للعرض للمستخدمين النهائيين. اكشف detail فقط في وضع التصحيح.
كيف أتعامل مع أخطاء التحقق في FastAPI؟
استخدم فئة استثناء ValidationError التي تمتد من AppException. يُرجع FastAPI تلقائياً 400 لفشل التحقق من Pydantic. للتحقق المخصص، ارفع ValidationError مع اسم الحقل والسبب.
هل يجب أن أستخدم try-catch أم معالجات عامة؟
استخدم كليهما. تلتقط المعالجات العامة الاستثناءات غير المعالجة في المستوى الأعلى. تتعامل كتل try-catch مع أخطاء محددة حيث تحدث، مما يسمح لك بإضافة سياق أو إعادة المحاولة أو تحويل الخطأ قبل انتشاره.
كيف أتتبع الأخطاء عبر الخدمات الصغيرة؟
استخدم معرفات الارتباط الممررة عبر رؤوس الطلبات. تُسجل كل خدمة مع معرف الارتباط من الطلب. ينشئ هذا معرف تتبع يربط السجلات عبر الخدمات لتصحيح الأخطاء الموزع.
ما رموز الحالة التي يجب أن أستخدمها لأنواع الأخطاء المختلفة؟
400 لأخطاء التحقق، 401 للمصادقة، 403 للتفويض، 404 لعدم العثور، 409 للتعارضات، 422 للكيانات غير القابلة للمعالجة، 429 لحدود المعدل، و500 لأخطاء الخادم.
كيف أتعامل مع الأخطاء في React Query؟
استخدم معاودة onError في خيارات useMutation أو useQuery. مرر نسخ ApiResponseError لعرض رسائل سهلة الاستخدام. استخدم toast.error() أو أنظمة إشعارات أخرى لعرض الأخطاء للمستخدمين.

تفاصيل المطور

بنية الملفات

📁 scripts/

📄 verify.py

📄 SKILL.md