Developer TrackLesson 435 min
Errors, Retries, and Concurrency Budgets
By the end of this lesson you can
- →Classify every documented error type as retryable or fatal and act on the difference
- →Implement exponential backoff with full jitter that yields to Retry-After
- →Enforce the default limit of 2 simultaneous generations with a gate rather than a retry loop
- →Treat insufficient_funds_error and content_filtered_error as operational signals, not exceptions to swallow
The outer type is always the literal string error. The one you branch on is nested: body["error"]["type"]. Reading the outer field is a real bug that produces a handler which classifies everything identically.
Classify on error.type, not on status. The two 429s share a status and need opposite remedies.
Developer Track — locked
Unlock “Errors, Retries, and Concurrency Budgets”
The 5-lesson Foundation module is free and always will be — you have already read the part most guides get wrong. The paid lessons go deeper, with labs, knowledge checks, and every technical claim verified against live documentation.
LTX-230 — Developer Track
You write the integration
$149one-time
Save $49
LTX-230 — Complete Course
Both tracks, everything unlocked
$249one-time
Already bought it? Sign in with the email you used at checkout.