مقدمة
يلتقط 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.
تحقّق من التكامل
أرسل خطأً تجريبياً للتأكّد من أن كل شيء يعمل: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. - الرسالة التي تطابقها هي عنوان المشكلة، وتتضمّن صنف الخطأ.