Your Try-Catch Blocks Are Lying to You

2026 | Sudip Parajuli


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.