There is always more than one way

This is a follow-up of sorts on my post on checked Exceptions in Java.

The Apocalisp blog has an interesting series (part 1, 2, and 3) on using a functional programming style for your exception handling in Java. The series ends in actually removing Exceptions entirely from the majority of the code, and using the Option monad to handle your output.

It is a sideways re-introduction to some functional programming concepts/constructs like Monads and lazy evaluation.

But be warned, the posts are not for the faint at heart, and you may need to brush up on your functional language skills to get the most out of it.