จับและจัดการข้อยกเว้น

Health Connect แสดงข้อยกเว้นมาตรฐานสำหรับการดำเนินการ CRUD เมื่อปัญหาคือ ที่พบ แอปของคุณควรตรวจพบและจัดการข้อยกเว้นแต่ละรายการเหล่านี้ตาม เหมาะสม

แต่ละเมธอดใน HealthConnectClient จะแสดงข้อยกเว้นที่โยนได้ โดยทั่วไป แอปของคุณควรจัดการกับข้อยกเว้นต่อไปนี้

ข้อยกเว้น คำอธิบาย แนวทางปฏิบัติแนะนำ
SecurityException พบปัญหาเมื่อคำขอต้องการ สิทธิ์ที่ไม่ได้รับสิทธิ์ เพื่อหลีกเลี่ยงปัญหานี้ โปรดตรวจสอบว่าคุณ การใช้ประเภทข้อมูล Health Connect ที่ได้ประกาศไว้สำหรับที่เผยแพร่ แอป นอกจากนี้ คุณต้องประกาศสิทธิ์ของ Health Connect ในไฟล์ Manifest และในกิจกรรมของคุณ

IOException พบปัญหาขณะอ่านและเขียนข้อมูลจาก เพื่อหลีกเลี่ยงปัญหานี้ เรามีคำแนะนำดังนี้

  • โปรดสำรองข้อมูลที่ผู้ใช้ป้อนไว้
  • จัดการกับปัญหาที่เกิดขึ้นระหว่างการเขียนจำนวนมากได้ สำหรับ ตัวอย่างเช่น ตรวจสอบว่ากระบวนการ ผ่านพ้นปัญหาไปและดําเนินการ การดำเนินงานที่เหลือ
  • ใช้กลยุทธ์การลองใหม่และ Backoff เพื่อจัดการปัญหาคำขอ

IllegalStateException เกิดสถานการณ์ใดสถานการณ์หนึ่งต่อไปนี้

  • บริการ Health Connect ไม่พร้อมใช้งาน
  • คำขอนี้ไม่ใช่โครงสร้างที่ถูกต้อง ตัวอย่างเช่น คำขอแบบรวมใน ที่เก็บข้อมูลเป็นระยะที่ใช้ออบเจ็กต์ Instant สำหรับ timeRangeFilter

จัดการปัญหาที่อาจเกิดขึ้นกับอินพุตก่อนที่จะส่งคำขอ โปรดกำหนดค่าให้กับตัวแปรหรือใช้เป็นพารามิเตอร์ภายในที่กำหนดเอง แทนการใช้คำร้องขอโดยตรง เพื่อให้คุณสามารถใช้ การจัดการข้อผิดพลาด
RemoteException มีข้อผิดพลาดเกิดขึ้นภายใน หรือในการสื่อสาร กับบริการพื้นฐานที่ SDK เชื่อมต่อด้วย

ตัวอย่างเช่น แอปของคุณพยายามลบระเบียนที่มี uid ที่ระบุ แต่ข้อยกเว้น ถูกโยนทิ้งไว้หลังจากที่แอปตรวจพบเมื่อตรวจสอบในบริการพื้นฐานที่ ไม่มีระเบียน
เพื่อหลีกเลี่ยงปัญหานี้ เรามีคำแนะนำดังนี้

  • ซิงค์พื้นที่เก็บข้อมูลของแอปกับ Health Connect เป็นประจำ
  • ใช้กลยุทธ์การลองใหม่และ Backoff เพื่อจัดการปัญหาคำขอ