How to get to zero unhandled exceptions in production
summary
Achieves near‑zero unhandled production exceptions within about a year by three concrete moves: weekly Happy Friday sessions that systematically fix Sentry issues, splitting monitoring into separate Sentry projects for web and background jobs so retries don’t flood alerts, and standardizing error handling (a network_errors module, rescuing specific exceptions, GraphQL controller that attaches the exact query to Sentry). Adds ActiveJob retries for serialization races, a small “handle race condition” helper that removes ~30% of Sidekiq failures, and 10x/backoff retries for flaky external APIs, leaving only genuinely actionable errors.
AI-written summary · about
chapters (17)
- 0:00Introduction and motivation
- 3:32Happy Friday exception fixing
- 6:01First principles for exceptions
- 8:30Handling network errors
- 11:40Sentry setup and monitoring
- 13:48Filtering noise exceptions
- 14:59Reading error messages carefully
- 16:21UTF-8 encoding exceptions
- 17:24GraphQL error handling
- 20:35GraphQL mutations and exceptions
- 21:40Sidekiq exception strategies
- 22:44Race condition handling
- 23:46Notification system errors
- 25:11Serialization error fixes
- 26:16Job retry policies
- 26:57Network error retries
- 27:39Achieving zero exceptions
related talks
36mThe Arcane Art of Error Handling
08mMonitoring Errors and Slowdowns Across JS Applications
13mCatching production errors before our customers
12mSolve 100% of your errors
23mSquash Production Defects Quickly - The Power of Structured Logging in Rails
14mSpeed up fixing app issues using Sentry
49mObservability in Practice: How to Become Proactive with Bugs
58mCultivating Production Excellence
