You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/client.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -273,15 +273,15 @@ response.saveToFile(Path.of("aapl.json")); // cache the raw body
273
273
274
274
Everything the SDK throws is a `MarketDataException`. It is a **sealed** hierarchy — the seven subtypes below are the complete set, so you can branch on them exhaustively and the compiler will tell you if a future major version adds one. Each exception carries support context: `getStatusCode()`, `getRequestId()`, `getRequestUrl()`, and `getSupportInfo()`.
275
275
276
-
| Subtype | When it's thrown |
277
-
|---|---|
278
-
|`AuthenticationError`| Missing or invalid token (HTTP 401) |
|`NotFoundError`| The resource doesn't exist (HTTP 404)|
281
+
|`RateLimitError`| Quota exceeded (HTTP 429); see `getRetryAfter()`|
282
+
|`ServerError`| API-side failure (HTTP 5xx)|
283
+
|`NetworkError`| Connection failure or timeout|
284
+
|`ParseError`| The response could not be decoded|
285
285
286
286
Async calls surface the same exceptions through the `CompletableFuture` (wrapped in a `CompletionException`); the sync wrappers unwrap them so you catch the cause directly.
0 commit comments