Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: The Arcane Art of Error Handling by Brad Urani With complexity comes errors, and unexpected errors lead to unexpected unhappiness. Join us and learn how to add contextual data to errors, design error hierarchies, take charge of control flow, create re-usable error handlers, and integrate with error reporting solutions. We'll talk about recoverable versus irrecoverable errors and discuss how and how not to use exceptions. From internationalization to background jobs, we'll cover the gamut. Regardless of your Rail proficiency, you'll learn why expecting the unexpected makes for happier developers, happier businesses and happier users.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "The Arcane Art of Error Handling" by Brad Urani, presented at RailsConf 2017, delves into the complexities of error handling in software development. In environments like Procore, where robust Rails applications are deployed frequently, managing unexpected errors effectively becomes crucial for customer satisfaction. The talk emphasizes the importance of adding contextual data to errors, designing error hierarchies, and developing reusable error handlers. Urani outlines several key principles and techniques for effective error handling, including: - **Understanding Exceptions vs. Errors**: Distinction between standard exceptions and errors in Ruby, with a focus on handling subclasses appropriately. - **Avoiding Complexity**: Cautions against over-engineering error handling solutions in simpler applications. - **Creating Hierarchies**: Discussing the implementation of custom error classes to improve context and control when handling failures in deep call stacks. - **Recovery Strategies**: Highlighting the differences between recoverable and unrecoverable errors, and techniques to manage control flow effectively during error scenarios. - **Logging and Reporting**: Encourages the use of error reporting systems like Bugsnag to ensure errors are logged and the context is retained for troubleshooting. - **Clear Communication**: Advocates for separating user messages from developer-facing error messages to improve user experience without leaking internal system details. Urani uses real-world examples from Procore's complex software ecosystem to illustrate these points, especially in situations involving third-party service integrations. He emphasizes the need for appropriate user notifications and status codes in APIs to enhance the experience for both developers and end-users. The session concludes with the critical takeaway that a well-structured approach to error handling not only benefits developers by simplifying troubleshooting, but also ensures a pleasant experience for users, leading to overall happier business outcomes.
Suggest modifications
Cancel