Rilevamento e gestione delle eccezioni
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Connessione Salute genera eccezioni standard per le operazioni CRUD quando si verifica un problema. L'app dovrebbe rilevare e gestire ciascuna di queste eccezioni nel modo opportuno.
Ogni metodo su HealthConnectClient
elenca le eccezioni che possono essere generate.
In generale, l'app dovrebbe gestire le seguenti eccezioni:
Eccezione |
Descrizione |
Best practice consigliata |
SecurityException
| Si verificano problemi quando le richieste richiedono autorizzazioni che non vengono concesse.
| Per evitare che questo accada, assicurati di aver richiesto le autorizzazioni per l'app pubblicata. Inoltre, devono essere dichiarate nel file manifest e nelle tue attività.
|
IOException
| Si sono verificati problemi durante la lettura e la scrittura dei dati dal disco.
| Per evitare questo problema, ecco alcuni suggerimenti:
- Esegui il backup di qualsiasi input utente.
- Essere in grado di gestire eventuali problemi che si verificano durante le operazioni di scrittura collettiva. Ad esempio, assicurati che il processo superi il problema ed esegua le operazioni rimanenti.
- Applicare i nuovi tentativi e le strategie di backoff per gestire i problemi delle richieste.
|
IllegalStateException
| Si è verificato uno dei seguenti scenari:
- Il servizio Connessione Salute non è disponibile.
- La richiesta non è una costruzione valida. Ad esempio, una richiesta aggregata in bucket periodici in cui viene utilizzato un oggetto
Instant per timeRangeFilter .
| Prima di eseguire una richiesta, gestisci i possibili problemi con gli input.
Preferibilmente, assegna valori alle variabili o utilizzali come parametri all'interno di una funzione personalizzata invece di utilizzarli direttamente nelle richieste in modo da poter applicare strategie di gestione degli errori.
|
RemoteException
| Si sono verificati errori all'interno del servizio sottostante a cui si connette l'SDK o durante le comunicazioni con quest'ultimo.
Ad esempio,
la tua app sta tentando di eliminare un record con un determinato uid . Tuttavia, l'eccezione viene generata dopo che l'app rileva, al controllo nel servizio sottostante, che il record non esiste.
| Per evitare questo problema, ecco alcuni suggerimenti:
- Esegui sincronizzazioni regolari tra il datastore della tua app e Connessione Salute.
- Applicare i nuovi tentativi e le strategie di backoff per gestire i problemi delle richieste.
|
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2023-10-18 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]