Azure / Azure/azure-documentdb-java

DocumentClientException in getCause() in case of exception - Sync Vs Async behavior

Offen
#128 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.