Skip to main content

مقدمة

يلتقط Lerix الأخطاء والاستثناءات من تطبيق Flutter الخاص بك لتتمكّن من تصحيح المشاكل بشكل أسرع. بعد إتمام تثبيت Flutter، استخدم Lerix.throwError لإرسال أخطاء مخصّصة أو استثناءات ملتقطة إلى لوحة التحكم.
تأكّد من تهيئة الـ SDK عبر Lerix.init() قبل الإبلاغ عن الأخطاء.

الإبلاغ عن خطأ

استخدم Lerix.throwError للإبلاغ عن خطأ يدوياً. هذا مفيد عندما تلتقط استثناءً داخل try/catch وتريد إرساله إلى Lerix مع سياق إضافي.
main.dart

المعاملات (Parameters)

قيم BugType

قيم BugSeverity

الالتقاط التلقائي للأخطاء

بمجرد تشغيل Lerix.init()، يتم التقاط أخطاء إطار عمل Flutter غير الملتقطة (عبر FlutterError.onError) وأخطاء Dart غير الملتقطة (عبر PlatformDispatcher.instance.onError) وإرسالها تلقائياً — لا حاجة لتغليف تطبيقك بالكامل داخل try/catch للحصول على تغطية أساسية. Lerix.throwError مخصّص للحالات التي تلتقطها بنفسك وتريد إضافة تصنيف أو بيانات وصفية (metadata) لها. يُبلَغ عن الأخطاء غير الملتقطة كأعطال حرجة (critical crashes) على جميع المنصات، بما فيها Flutter Web.
بناءات Flutter Web للإصدار مُصغَّرة (minified). لرؤية ملف Dart ورقم السطر لأخطاء الويب، ارفع خرائط المصدر كما هو موضّح في خرائط المصدر في Flutter. أما بناءات الإصدار على Android وiOS فتُبلغ عنهما دون أي إعداد.

تحقّق من التكامل

أرسل خطأً تجريبياً للتأكّد من أن كل شيء يعمل:
main.dart
ثم افتح لوحة التحكم — يجب أن يظهر الخطأ خلال ثوانٍ.

ترشيح الأخطاء

يتطلّب lerix_flutter بالإصدار 0.3.0 أو أحدث. يحدّد خياران اختياريان في Lerix.init الأخطاء التي تُرسَل. ينطبقان على كل تقرير: أخطاء Flutter وDart والـ zone غير الملتقطة، وLerix.throwError، والويب.
  • تعمل ignoreErrors (List<Pattern>) أولاً. النص (String) يحذف أي خطأ تحتوي رسالته عليه، دون تمييز حالة الأحرف، وتُتجاوَز النصوص الفارغة أو التي تحتوي مسافات فقط. والتعبير RegExp يحذف أي خطأ تطابقه رسالته.
  • ثم تستقبل beforeSend كائن LerixErrorEvent (message، stack، type، severity، metadata). أعِده لإرساله، أو أعِد نسخة معدّلة عبر copyWith، أو أعِد null لحذفه. إذا رمت beforeSend استثناءً، يُرسَل التقرير الأصلي ولا يُعاد رمي الاستثناء داخل تطبيقك أبداً.
  • التقرير المحذوف لا يُرسَل ولا يستدعي onError.
  • الرسالة التي تطابقها هي عنوان المشكلة، وتتضمّن صنف الخطأ.
كما يجمّع Lerix الأخطاء المتكرّرة في مشكلة واحدة ويرشّح الضوضاء الشائعة على الخادم، لكل إصدارات الـ SDK. راجع كيف تُجمَّع الأخطاء في مشكلات.