Using exceptions for expected business failures — a validation error, a missing resource, a business-rule violation — hides those outcomes from the method signature and makes the failure paths invisible until they happen.
The Result Pattern makes expected failures part of the type system instead of a surprise at runtime. The full article covers where I draw the line between a real exception and an expected failure, and how the Result Pattern models the difference.
Read the full article on Medium.
© 2026 Sudip Parajuli. All rights reserved.