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. However, when properly leveraged, they 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.


Comments are closed.

Ben Rosenbach at 12:03 on 16 Nov 2018

Lots of great stuff I'll be immediately using in my code.

Learned some good stuff that I'll be refactoring into old code and taking advantage of in new code. Thanks!