Ausnahmen abfangen und verarbeiten
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Health Connect löst Standardausnahmen für CRUD-Vorgänge aus, wenn ein Problem
gefunden wurden. Ihre App sollte jede dieser Ausnahmen wie folgt erfassen und verarbeiten:
angemessen sein.
Jede Methode für HealthConnectClient
listet die Ausnahmen auf, die ausgelöst werden können.
Im Allgemeinen sollte Ihre App die folgenden Ausnahmen verarbeiten:
Ausnahme |
Beschreibung |
Empfohlene Best Practice |
SecurityException
| Es sind Probleme aufgetreten, wenn für die Anfragen
Berechtigungen, die nicht gewährt werden.
| Um dies zu vermeiden,
deklarierte Nutzung von Health Connect-Datentypen für Ihre veröffentlichten Daten
Außerdem musst du Health Connect-Berechtigungen
in der Manifestdatei und in Ihrer Aktivität.
|
IOException
| Beim Lesen und Schreiben von Daten aus
Laufwerk.
| Hier sind einige Vorschläge, wie Sie dieses Problem vermeiden können:
- Sichern Sie alle Nutzereingaben.
- In der Lage sein, alle Probleme zu bewältigen, die bei Bulk-Schreibvorgängen auftreten. Für
Stellen Sie sicher, dass der Prozess über das Problem hinausgeht, und führen Sie die
verbleibenden Vorgänge.
- Wenden Sie Wiederholungsversuche und Backoff-Strategien an, um Anfrageprobleme zu beheben.
|
IllegalStateException
| Eines der folgenden Szenarien ist eingetreten:
- Der Health Connect-Dienst ist nicht verfügbar.
- Die Anfrage ist keine gültige Konstruktion. Eine zusammengefasste Anfrage in
Regelmäßige Buckets, in denen ein
Instant -Objekt für die timeRangeFilter verwendet wird.
| Beheben Sie mögliche Probleme mit den Eingaben, bevor Sie eine Anfrage senden.
Weisen Sie Variablen Werte zu oder verwenden Sie diese als Parameter in einem benutzerdefinierten
anstatt sie direkt in Ihren Anfragen zu verwenden.
zur Fehlerbehandlung.
|
RemoteException
| Innerhalb oder bei der Kommunikation sind Fehler aufgetreten.
mit dem zugrunde liegenden Dienst, mit dem das SDK eine Verbindung herstellt.
Beispiel:
Deine App versucht, einen Eintrag mit einer bestimmten uid zu löschen. Die Ausnahme
wird ausgelöst, nachdem die App bei der Überprüfung im zugrunde liegenden Dienst festgestellt hat,
Der Datensatz ist nicht vorhanden.
| Hier sind einige Vorschläge, wie Sie dieses Problem vermeiden können:
- Führen Sie regelmäßige Synchronisierungen zwischen dem Datenspeicher Ihrer App und Health Connect durch.
- Wenden Sie Wiederholungsversuche und Backoff-Strategien an, um Anfrageprobleme zu beheben.
|
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Catch and handle exceptions\n\nHealth Connect throws standard exceptions for CRUD operations when an issue is\nencountered. Your app should catch and handle each of these exceptions as\nappropriate.\n\nEach method on `HealthConnectClient` lists the exceptions that can be thrown.\nIn general, your app should handle the following exceptions:\n\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| **Exception** | **Description** | **Recommended best practice** |\n|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `SecurityException` | There are issues encountered when the requests require permissions that aren't granted. | To avoid this, make sure that you've [declared use of Health Connect data types](/guide/health-and-fitness/health-connect/develop/frequently-asked-questions#declare-access) for your published app. Also, you must declare Health Connect permissions [in the manifest file](/guide/health-and-fitness/health-connect/develop/get-started#step-3) and [in your activity](/guide/health-and-fitness/health-connect/develop/get-started#step-4). \u003cbr /\u003e \u003cbr /\u003e |\n| `IOException` | There are issues encountered upon reading and writing data from disk. | To avoid this issue, here are some suggestions: \u003cbr /\u003e - Back up any user input. - Be able to handle any issues that occur during bulk write operations. For example, make sure the process moves past the issue and carry out the remaining operations. - Apply retries and backoff strategies to handle request issues. \u003cbr /\u003e |\n| `IllegalStateException` | One of the following scenarios has occurred: \u003cbr /\u003e - The Health Connect service isn't available. - The request isn't a valid construction. For example, an aggregate request in periodic buckets where an `Instant` object is used for the `timeRangeFilter`. \u003cbr /\u003e | Handle possible issues with the inputs first before doing a request. Preferably, assign values to variables or use them as parameters within a custom function instead of using them directly in your requests so that you can apply error handling strategies. |\n| `RemoteException` | Errors have occurred within, or in communicating with, the underlying service to which the SDK connects. For example, your app is trying to delete a record with a given `uid`. However, the exception is thrown after the app finds out upon checking in the underlying service that the record doesn't exist. | To avoid this issue, here are some suggestions: \u003cbr /\u003e - Perform regular syncs between your app's datastore and Health Connect. - Apply retries and backoff strategies to handle request issues. \u003cbr /\u003e |\n\n\u003cbr /\u003e"]]