رصد الاستثناءات والتعامل معها
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يفرض تطبيق Health Connect الاستثناءات القياسية على عمليات CRUD عندما تكون هناك مشكلة.
واجهناها. يجب أن يكتشف تطبيقك كل هذه الاستثناءات ويتعامل معها
مناسبًا.
تسرد كل طريقة في HealthConnectClient
الاستثناءات التي يمكن طرحها.
بشكل عام، يجب أن يتعامل تطبيقك مع الاستثناءات التالية:
استثناء |
الوصف |
أفضل الممارسات المقترَحة |
SecurityException
| حدثت مشاكل عندما تتطلب الطلبات
الأذونات التي لم يتم منحها.
| لتجنب هذا، تأكد من
الاستخدام المُعلَن عنه لأنواع بيانات Health Connect في البيانات المنشورة
التطبيق. عليك أيضًا الإفصاح عن أذونات Health Connect.
في ملف البيان وفي نشاطك
|
IOException
| توجد مشكلات تمت مواجهتها عند قراءة البيانات وكتابتها من
القرص.
| لتجنّب هذه المشكلة، إليك بعض الاقتراحات:
- الاحتفاظ بنسخة احتياطية من أي بيانات أدخلها المستخدم
- القدرة على معالجة أي مشكلات تحدث أثناء عمليات الكتابة المجمّعة. بالنسبة
على سبيل المثال، تأكد من أن العملية تتجاوز المشكلة وتنفيذ
العمليات المتبقية.
- تطبيق استراتيجيات إعادة المحاولة والتراجع لمعالجة مشاكل الطلب.
|
IllegalStateException
| وقد حدث أحد السيناريوهات التالية:
- خدمة Health Connect غير متاحة.
- بنية الطلب غير صالحة. على سبيل المثال، قد يتضمن طلب تجميعي
مجموعات البيانات الدورية التي يتم فيها استخدام الكائن
Instant للسمة timeRangeFilter .
| تعامل مع المشاكل المحتملة مع المدخلات أولاً قبل تقديم الطلب.
يُفضَّل تحديد قيم للمتغيّرات أو استخدامها كمَعلمات داخل وحدة مخصَّصة
بدلاً من استخدامها مباشرةً في طلباتك حتى تتمكن من تطبيق
استراتيجيات التعامل مع الأخطاء.
|
RemoteException
| حدثت أخطاء خلال الاتصال أو أثناء الاتصال
الخدمة الأساسية التي تتصل بها حزمة SDK.
على سبيل المثال،
يحاول تطبيقك حذف سجلّ باستخدام uid محدّد. ومع ذلك، فإنّ الاستثناء
بعد أن يكتشف التطبيق، عند التحقق في الخدمة الأساسية،
عدم وجود السجل.
| لتجنّب هذه المشكلة، إليك بعض الاقتراحات:
- يمكنك إجراء عمليات مزامنة منتظمة بين مخزن بيانات تطبيقك وتطبيق Health Connect.
- تطبيق استراتيجيات إعادة المحاولة والتراجع لمعالجة مشاكل الطلب.
|
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2024-09-05 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-09-05 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]