Harnessing Errors & Edge-Cases with Ease & Elegance. Imagine handling error conditions and unexpected edge-cases with code that is easier to read, maintain & extend. The temptation is real. We create methods that return an array of objects, or “false” if nothing was found. Or “null”. We might further “signal” unexpected results or error-conditions with integer values. It then becomes the responsibility of consumers of these methods, to properly interpret what “false”, “null”, or “-500” mean. As a result, we produce code that is difficult to read, maintain and extend. Exceptions are seldom leveraged, and most often thought of as objects thrown by some frameworks for instrumentation. When properly leveraged, they however offer an opportunity to manage unexpected and edge-case behavior at various layers of our applications, with elegant control flows. By leveraging your language’s Exceptions alongside its “Type System”, we can create elegant, flexible and advanced handling of Error conditions, which will promote code that is easier to work with. What you’ll learn from this talk: * use-cases for leveraging exceptions, recognizing patterns where they would be a better fit * how exceptions allow us to signal errors with less code * how exceptions allow us to handle errors with less code * how exceptions can help us build more robust systems with far less technical debt

Comments

Please login to leave a comment

Jo Carter at 13:25 on 8 Sep 2020

Exceptions are your friend :)

Andreas Hucks at 13:27 on 8 Sep 2020

Great talk, and an important topic from my experience, thanks!

Everything was on point, I enjoyed it. If I may make one suggestion for improvement: Maybe compress the walkthrough up and down the layers when not using exceptions. Could be interesting to use the gained time to elaborate on the stuff mentioned on Slide 110 (mainly "Exception hierarchy / taxonomy") - that would be another interesting part.

Brilliant Talk!!! Clear and interesting explanation.