What does it take to build an informed error handling workflow?
Production exception handling is a dark science. Once your code gets out to production, any minor imperfection or glitch can translate to millions of log events. Especially if you’re using exceptions as part of the control flow.
It’s the least explored subject matter, with the largest impact on how your application behaves – And the dark patterns used to handle and solve the errors it produces are quite unpleasant.
That is why we felt the urgency to explore this issue where operations and developers meet. In this eBook, we present data gathered from over 600,000 Java projects, and a 1,000 production applications generating over 1 Billion events, with the new knowledge that it encouraged us to create.
1. Keep it Actionable: What’s the Purpose of Using Exceptions?
Let’s break some myths. Most developers ignore most exceptions, and exceptions are not that exceptional after all. This chapter covers practical tips for producing meaningful and actionable exceptions.
2. Source Code Crunch: Lessons from analyzing over 600,000 Java projects
An overview of exception handling in over 600,000 Java projects on Github and Sourceforge. In this chapter you’ll see data about how exceptions are actually used (and misused).
3. Production Data Crunch: 1,000 Java Applications, 1 Billion Logged Errors
Now it’s time to see what happens in production. This chapter introduces the Pareto logging principle showing that 97% of logged errors originate from 3% of the unique events.
4. Know Your Enemy: The Top 10 Exceptions Types in Production
In this chapter we dive into the most common exceptions in production, their frequency, and possible solution strategies. The infamous —NullPointerException is obviously #1.
The full guide is now available for download, check it out.