Exceptional Ruby

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.

Author

Avdi Grimm

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.