استثناها را بگیرید و رسیدگی کنید

Health Connect استثناهای استاندارد را برای عملیات CRUD در صورت بروز مشکل ایجاد می کند. برنامه شما باید هر یک از این استثناها را در صورت لزوم دریافت و مدیریت کند.

هر روش در HealthConnectClient استثناهایی را که می‌توان ایجاد کرد فهرست می‌کند. به طور کلی، برنامه شما باید استثنائات زیر را کنترل کند:

استثنا توضیحات بهترین عمل توصیه شده
SecurityException زمانی که درخواست‌ها به مجوزهایی نیاز دارند که اعطا نمی‌شوند، مشکلاتی پیش می‌آید. برای جلوگیری از این امر، مطمئن شوید که استفاده از انواع داده Health Connect را برای برنامه منتشر شده خود اعلام کرده اید. همچنین، باید مجوزهای Health Connect را در فایل مانیفست و در فعالیت خود اعلام کنید.

IOException هنگام خواندن و نوشتن داده ها از دیسک مشکلاتی وجود دارد. برای جلوگیری از این مشکل، در اینجا چند پیشنهاد وجود دارد:

  • از هر ورودی کاربر نسخه پشتیبان تهیه کنید.
  • قادر به رسیدگی به مشکلاتی باشید که در طول عملیات نوشتن انبوه رخ می دهد. به عنوان مثال، مطمئن شوید که فرآیند از مشکل گذشته است و عملیات باقی مانده را انجام دهید.
  • برای رسیدگی به مسائل درخواستی، از تلاش های مجدد و استراتژی های عقب نشینی استفاده کنید.

IllegalStateException یکی از سناریوهای زیر رخ داده است:

  • سرویس Health Connect در دسترس نیست.
  • درخواست ساخت و ساز معتبری نیست. به عنوان مثال، یک درخواست انبوه در سطل های دوره ای که در آن یک شی Instant برای timeRangeFilter استفاده می شود.

قبل از انجام یک درخواست، ابتدا مشکلات احتمالی ورودی ها را مدیریت کنید. ترجیحاً مقادیری را به متغیرها اختصاص دهید یا به جای استفاده مستقیم از آنها در درخواست های خود، از آنها به عنوان پارامتر در یک تابع سفارشی استفاده کنید تا بتوانید استراتژی های رسیدگی به خطا را اعمال کنید.
RemoteException خطاهایی در سرویس اصلی که SDK به آن متصل می شود یا در برقراری ارتباط با آن رخ داده است.

برای مثال، برنامه شما در تلاش است تا رکوردی را با یک uid مشخص حذف کند. با این حال، پس از اینکه برنامه پس از بررسی در سرویس زیربنایی متوجه شد که سابقه وجود ندارد، استثنا ایجاد می شود.
برای جلوگیری از این مشکل، در اینجا چند پیشنهاد وجود دارد:

  • همگام‌سازی‌های منظمی را بین ذخیره‌گاه داده برنامه و Health Connect انجام دهید.
  • برای رسیدگی به مسائل درخواستی، از تلاش های مجدد و استراتژی های عقب نشینی استفاده کنید.