Azure / Azure/azure-documentdb-java
DocumentClientException in getCause() in case of exception - Sync Vs Async behavior
- Vorherrschende Sprache
- Java
- Sterne
- 51
- Forks
- 52
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
In case of an Exception, when using the Cosmos DB "Async" API, we could simply catch the generic one and simply do an e.getCause() to see if the instance was of type DocumentClientException. However, when using the DocumentDB Sync, the chain seems to be lengthier. Is this expected ?
Ofcourse, we could use something like Apache common langs 'ExceptionUtils' to check the "Cause", but is this behavior deviation known ? I have a scenario to cast the exception based on the instance check and I use both Sync and Async separately for multiple stuff.
**Example:**
_DocumentDB Sync API ADK:_
java.lang.IllegalStateException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: com.microsoft.azure.documentdb.DocumentClientException: Message: {"Errors":["Owner resource does not exist"]}
_CosmosDB Async API SDK:_
java.util.concurrent.ExecutionException: com.microsoft.azure.cosmosdb.DocumentClientException: Message: {"Errors":["Owner resource does not exist"]}
Beitragsleitfaden
Rechercherichtung
Beginne damit, die für die DocumentDB Sync API und die Cosmos DB Async API gezeigten Ausnahmeverkettungen zu reproduzieren, und konzentriere dich darauf, wie DocumentClientException umschlossen und über getCause() offengelegt wird. Vergleiche das beobachtete Verhalten mit der dokumentierten Ausnahmebehandlung des SDK; abgeschlossen ist die Aufgabe, wenn das Verhalten von synchron und asynchron bestätigt und klar dokumentiert oder eine umsetzbare Änderung definiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100