The use of exceptions for flow control was raised quite a few times already (here’s a c2 discussion and here is a great question on SO). I’d like to summarize this topic and provide some common use cases along with code examples to handle them.
Read more: https://enterprisecraftsmanship.com/posts/exceptions-for-flow-control/