← Graph

How does error handling work?

question 2 connections

Audience asks how errors integrate with Ruby's exception model and how they're communicated to the UI. Ismael says the full answer is a whole talk. Philosophically, he's become radical: at the domain level there are effectively no errors — there are events that can happen (including things like failed payments, which should be modelled as events with interesting downstream reactions) and true exceptions (technical/network issues). True exceptions are reported to monitoring and retried with exponential backoff; on exhaustion the Sourced dashboard stops the reactor so developers can fix the root cause before resuming. Admits this doesn't fully answer the UI-side of the question.

answer_summary
Reframe most 'errors' as domain events with their own reactions; reserve true exceptions for technical/network issues, which Sourced retries with exponential backoff and, on exhaustion, de-registers the reactor in the dashboard.
question How does error handling work?
about
Sourced project
About Sourced's error/retry/dashboard behaviour.
question How does error handling work?
asked_at
Final Q&A question.

Provenance