What's this about?
The definitive guide to exceptions and failure handling in Ruby.
- A detailed look at the lifecycle of a Ruby exception.
- Overriding Kernel#raise for fun and profit.
- Alternatives to exceptions, for when "fail fast" isn't the right answer.
- Advanced exception matching in rescue clauses.
- Avoiding failure cascades with the Barricade and Circuit Breaker patterns.
- 5 questions to ask before raising an exception.
- Exception safety testing for critical methods.
- The three exception classes every app or library needs.
- And much, much more... over 100 pages of in-depth information on Ruby exception handling.
I’ve been a professional developer for over twenty years. Over the course of my career I’ve worked on everything from aerospace embedded systems to enterprise web applications. I’m a consulting pair-programmer, the author of several popular Ruby programming books, and a recipient of the Ruby Hero award for service to the Ruby community. Since I’ve been been helping developers deepen their coding practice at Graceful.Dev (formerly RubyTapas.com).
I specialize in taking what I learn, synthesizing it, and sharing it in forms that are helpful to the team, the organization, and to the global community of developers. I’m particularly interested in building graceful systems: rich symmathesies of both people and software that have the capacity to accommodate and adapt to surprises. My work encompasses talks, books, courses, screencasts, articles, newsletters, podcasts, pair-programming-as-a-service, consulting, and more.