अपवादों को पकड़ें और हैंडल करें

जब कोई समस्या मिला. आपके ऐप्लिकेशन को इनमें से हर अपवाद को उचित.

HealthConnectClient के हर तरीके में, दिए गए अपवादों की सूची होती है. आम तौर पर, आपके ऐप्लिकेशन को इन अपवादों का पालन करना चाहिए:

अपवाद ब्यौरा सुझाया गया सबसे सही तरीका
SecurityException अनुरोधों के लिए अनुरोध करने में समस्याएं हुईं अनुमतियां नहीं दी गई हैं. इससे बचने के लिए, पक्का करें कि आपने पब्लिश किए गए डेटा के लिए, Health Connect के अलग-अलग डेटा टाइप के इस्तेमाल का एलान है. साथ ही, आपको Health Connect की अनुमतियों का एलान करना होगा मेनिफ़ेस्ट फ़ाइल में और अपनी गतिविधि में.

IOException से डेटा पढ़ने और लिखने में समस्याएं हुईं डिस्क. इस समस्या से बचने के लिए, यहां कुछ सुझाव दिए गए हैं:

  • उपयोगकर्ता के किसी भी इनपुट का बैक अप लें.
  • इन्हें बल्क में लिखने के दौरान आने वाली किसी भी समस्या को हल करने में सक्षम होना चाहिए. इसके लिए उदाहरण के लिए, यह पक्का करें कि प्रोसेस समस्या से आगे निकल जाए और बाकी कार्रवाइयां.
  • अनुरोध से जुड़ी समस्याओं को हल करने के लिए, फिर से कोशिश करने और बैकऑफ़ की रणनीतियां लागू करें.

IllegalStateException इनमें से कोई एक स्थिति आई है:

  • Health Connect सेवा उपलब्ध नहीं है.
  • यह अनुरोध मान्य नहीं है. उदाहरण के लिए, पीरियॉडिक बकेट, जहां timeRangeFilter के लिए Instant ऑब्जेक्ट का इस्तेमाल किया जाता है.

अनुरोध करने से पहले, इनपुट से जुड़ी संभावित समस्याओं को ठीक करें. पसंदीदा तौर पर, वैरिएबल के लिए वैल्यू असाइन करें या उन्हें कस्टम अपने अनुरोधों में सीधे उनका उपयोग करने के बजाय उनका उपयोग करें, ताकि आप अपने से जुड़ी गड़बड़ियों को ठीक करने की रणनीतियां.
RemoteException बातचीत के दौरान या बातचीत करते समय गड़बड़ियां हुई हैं जिसमें SDK टूल कनेक्ट किया गया है.

उदाहरण के लिए, आपका ऐप्लिकेशन दिए गए uid वाले रिकॉर्ड को मिटाने की कोशिश कर रहा है. हालांकि, अपवाद नीचे दी गई सेवा की जांच करने पर ऐप्लिकेशन को पता चलता है कि रिकॉर्ड मौजूद नहीं है.
इस समस्या से बचने के लिए, यहां कुछ सुझाव दिए गए हैं:

  • अपने ऐप्लिकेशन के डेटा स्टोर और Health Connect को नियमित तौर पर सिंक करें.
  • अनुरोध से जुड़ी समस्याओं को हल करने के लिए, फिर से कोशिश करने और बैकऑफ़ की रणनीतियां लागू करें.